Add support for a project resource

This is an initial pull request to add support for a Project resource.  

The Project resource is not scoped by Kubernetes namepace, but it's used to reserve a Kubernetes namespace for origin users.  A project can be created to associate with an existing Kubernetes namespace, or the namespace is taken from the Project id.  This is limited API support to do basic CRUD operations.  There is no Watch support at this time.  Project has limited metadata with more to follow based on UX input.
@smarterclayton didn't your error details stuff allow more detailed messages to be sent back on the api response?  @derekwaynecarr would be nice for the clients to know _why_ the field was invalid