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:
Just to be more clean, in the case the override isn't called when we thought it would be, this doesn't persist the override for future tests.