Define a mapping between REST resource name and kind/apiVersion

Allows clients to abstractly map user input to generic resource
paths as per docs/api-conventions.md

Extracted from #2000 and supports #1958
It was just <resourceType> here, assuming that RESTClient is responsible for encapsulating a server, prefix, and version.  Will add comment.

I was actually going to add a Resource and Name method to client.Request to make this consistent.  In this case Resource would be very similar to Name, Kind, etc where it's a known type that is consistent elsewhere.

----- Original Message -----
> > +	Name(obj runtime.Object) (string, error)
> > +	SetName(obj runtime.Object, name string) error
> > +
> > +	UID(obj runtime.Object) (string, error)
> > +	SetUID(obj runtime.Object, uid string) error
> > +
> > +	SelfLink(obj runtime.Object) (string, error)
> > +	SetSelfLink(obj runtime.Object, selfLink string) error
> > +
> > +	runtime.ResourceVersioner
> > +}
> > +
> > +// RESTMapping contains the information needed to deal with objects of a
> > specific
> > +// resource and kind in a RESTful manner.
> > +type RESTMapping struct {
> > +	Resource   string
> 
> RESTPath? RESTCollectionPath? Also can you add a comment explaining how much
> of the path one can expect to see here? Is it /api/v1betaX/resourcetype/? or
> just resourcetype?
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/GoogleCloudPlatform/kubernetes/pull/2059/files#r19769738