add_to_load_balancer -> add_to_clb

This builds on top of #738, and that PR should be reviewed first.

This function was really always CLB-specific. This PR makes that clearer. Because the logic is so CLB-specific, I think it is an appropriate level to implement the alternative, RCv3 code path at.

I have cleaned up some of the tests and docstrings along the way. This code touches a bunch of tests that I quite frankly don't trust, so I think a full set of functional tests should be run.
Why is this required now that there is separate path for CLB and RCv3? The existing functions can be remain the same.