Merge pull request #4255 from RosettaCommons/roccomoretti/orbital_include
Reduce transitive inclusions of orbital headers.
Certain Orbital-related headers were contributing more than they likely should to the amount of included header lines.
We can adjust the Residue and ResidueTypeBase classes such that these headers are only in the cc files, and aren't included for everything that needs Residue.hh or ResidueType.hh.
To aid in this conversion (and to keep the deep copy semantics of the vector-of-Orbital objects), I've added a deep_copy_vector1 class, which subclasses vector1, but provides deep copy semantics for vectors-of-OPs.