Merge pull request #2120 from RosettaCommons/roccomoretti/chain_fix2
Chain numbers and letters and jumps, oh my!
In Rosetta there's several ways of specifying a "chain": chain numbers (chain ID), chain letters, and jump numbers. These are not interchangeable. In general, there is *NOT* a 1:1 correspondence between chain numbers, chain letters or jump numbers, unless the pose has been specifically set up as such.
To help reduce confusion, add documentation to (new function) Pose::num_chains() which describes the various options, and explicitly points out they may be different. Also add pointers to that documentation from various places where the distinction is relevant, or where a naive person might find a function that works with "chains" and might need clarification as to the distinction.
Fix a number of utility functions in core/pose/util.hh which work with chain numbers/letters/jumps so that they're more robust to poses where the correspondence is not 1:1, and unit test them with a funky pose.
Bonus: I've added C++11 move constructors and initialization list constructors to utility::vector1/0/L, so creating vector1s with defined contents is easy:
utility::vector1<core::Size> single_digit_primes{2,3,5,7};