Lattice Models of Protein Folding, Dynamics and Thermodynamics