Principles of Protein X-Ray Crystallography