WIP: Scaleout plugin

* Enables clients to enable scale out groups to be used for routing

* Enables servers to enlist in a ScaleOut group

#### Things left to do

- [x] Add support for the gracefull shutdown call back (depends on the core pull)
- [x] Cache the SC routing table for X seconds
- [ ] How do we acceptance test this?
- [x] Should we perform retries when we startup and SC isn't responding? 
- [x] Move the SC api url config to a common `.ServiceConntrolUrl(...)` config call and by default read `AppSettings["ServiceControl/ApiUrl"]`
- [ ] Document the public api on docs.particular.net
Yes that makes sense to do a best effort attempt to tell SC that we're stopping if possible cc @udidahan