Merge pull request #4241 from RosettaCommons/JackMaguire/floats_protocols
#4240 is a monster, so @lyskov had the great idea to divide it up into multiple merges. This PR only merges the code in src/protocols and a handful of upstream files in src/numeric.
Here, we are replacing doubles with core::Reals and hoping no tests fail.