Colloidal and Protein Self-Assembly with Shape-Based Models