Carbon nanotubes: Types, methods of preparation and applications