Theory of Supramolecular Polymerization