Second step in decoupling the service controller, use the apiserver for writes too.

Addresses #1436 
(Nit; suggest in the future: ```newEndpoints := *currentEndpoints```)