Separation of metallic and semiconducting single-walled carbon nanotubes via covalent functionatization