storage: createReadStream: accept start/end offsets

RE: #318 

This adds `options.start` and `options.end` to `file.createReadStream`, using the `Range` HTTP header when calling the API.

// @janesconference for a review, since it was all his idea :bulb: :+1:
No, I don't think so. It wasn't even something I thought about, since it
wasn't us emitting the event. However, we override the event for
createWriteStream to return the updated metadata, I believe.

On Monday, December 22, 2014, Ryan Seys <notifications@github.com> wrote:

> In lib/storage/file.js
> <https://github.com/GoogleCloudPlatform/gcloud-node/pull/327#discussion-diff-22191834>
> :
>
> > @@ -356,7 +391,7 @@ File.prototype.createReadStream = function(options) {
> >
> >                throughStream.emit('error', error);
> >              } else {
> > -              throughStream.emit('complete');
> > +              throughStream.emit('complete', res);
>
> Is it documented somewhere I overlooked?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/GoogleCloudPlatform/gcloud-node/pull/327/files#r22191834>
> .
>