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
* if 509 Bandwidth Exceeded / 429 Too Many Requests, prompt for login
(closes#2262)
* if 400 Bad Request / 401 Unauthorized / 403 Forbidden - logout and retry
(closes#3546)