Allow runtime.Object to be encoded as runtime.RawExtension

Allows round tripping between objects that the schema recognizes and preserving those that don't. Adds a 'List' type that contains arbitrary objects.  Includes various cleanup to conversion, including the ability to get a specific error for unrecognized types.
Done


> On Dec 9, 2014, at 12:54 PM, bgrant0607 <notifications@github.com> wrote:
> 
> In pkg/api/v1beta3/types.go:
> 
> > @@ -944,3 +950,11 @@ type EventList struct {
> >  
> >  	Items []Event `json:"items"`
> >  }
> > +
> > +// List holds a list of objects, which may not be known by the server.
> > +type List struct {
> > +	TypeMeta `json:",inline"`
> > +	ListMeta `json:"metadata,omitempty"`
> > +
> > +	Items []runtime.RawExtension `json:"items" description:"list of objects"`
> In the description, clarify that the objects may be of any/multiple kinds.
> 
> —
> Reply to this email directly or view it on GitHub.
>