Pull changes to support round-robin through multiple upstream proxies, and dynamically updatable YAML-based configuration

Helps fix getlantern/lantern#1719
@myleshorton I now just lock as long as needed to get the servers.  These are already effectively a copy, because subsequent calls to Configure replace them with new data structures.