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

Addresses #1436 
argh argh argh :(

Is it really more than a handful of lines of code to fix the client? @smarterclayton has a bunch of functions that would be good for this in pkg/api/errors.

I guess I won't block the PR on this, but only if we have a pact that the next person to use a client's error has to fix it.