Hetero-Atom Containing Functional Polymers: Synthesis, Characterization and Applications