Make get_all_server_info and get_scaling_group_servers use pure-http

The metrics.py code had to be updated to deal with this, and I refactored the effectiness a little bit into metrics.py, so that there's a new get_all_metrics_effects function extracted from get_all_metrics.

I've added unit tests for get_all_metrics_effects, and left the unit tests for get_all_metrics in place (and updated them to ensure that code is using pure-HTTP properly). The tests for that are pretty nasty, but hopefully they'll go away if more of metrics.py gets Effect-ified.


First off: thank you!!! I wanted to say "I'll make a ticket to make sure supervisor uses this, too", but you already covered that base as well.

Minor nitpicks:

1. I'm not entirely sure `constants` is the appropriate place, although I can't really think of anything better.
2. `service_config` still feels like the name of a dict to me, and since this isn't Clojure, dicts aren't callable. Perhaps `config_value`? Not ideal either, but at least consistent.