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: