[DO_NOT_MERGE] Stream support for k8s client request

Needed for https://github.com/openshift/origin/pull/136
Generally you return io.ReadCloser when the person who receives it is responsible for closing the read stream.  I believe in this case the caller is responsible for closing the stream, so io.ReadCloser would be appropriate.

----- Original Message -----
> > @@ -269,6 +269,23 @@ func (r *Request) Watch() (watch.Interface, error) {
> >  	return watch.NewStreamWatcher(tools.NewAPIEventDecoder(response.Body)),
> >  	nil
> >  }
> >  
> > +// Stream formats and executes the request.
> > +// Returns io.Reader which could be used for streaming of the response, or
> > an error
> 
> @VojtechVitek I know but io.ReadCloser has io.Reader and io.Closer, but
> regarding the streaming we need just the io.Reader, which you can cast by
> specifying it in function return values `func (r *Request) Stream()
> (io.Reader, error)`.
> This way only the io.Reader will be returned, not the whole io.ReadCloser
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/openshift/kubernetes/pull/9/files#r18206679