1. All services are disabled in testing now to prevent network accesses
2. Only services are enabled when needed to test something
3. Many changes throughout code to allow iD to run with services disabled
(e.g. check for osm service instead of assuming context.connection() will work)
4. Actually export the services so we can disable and enable them
Fixes an issue where a source might not compare strictly equal e.g.:
1. custom imagery gets blacklisted and replaced with a
`rendererBackgroundSource.None()`
2. which doesn't strictly === the `rendererBackgroundSource.None()` on the
background pane switcher
3. so the radio button would not appear checked
Previous code was problematic because we need the function to
to properly blacklist custom imagery passed in through the url hash,
before iD is completely initialized. Triggering GET causes tests to
break because osm service testing has side effects :-/