Colloidal Nanocrystals: Synthesis and Assembly