What properties of carbon explain carbon's ability to form many different macromolecules?