Refactor internal API for Services to match v1beta3

First commit is services (working unit and integration).
We settled this on Friday - once I merge those changes tomorrow this will be simpler.