WIP:  Refactor internal API for Services to match v1beta3

First commit is services (working unit and integration).
This seems like an unfortunate hack.  Only some objects have been renamed to Metadata while the rest continue to have ObjectMeta.  Do we plan on refactoring (eventually) all objects to use Metadata for consistency?