make multibuffer work with layout tests

This Cl does four things:

1) Makes sure that the loading state callback is handled in a backwards-compatible way.
   (BufferedDataSource)
2) Fixes a problem where we would try to read past the end of the file if the file was
   already completely cached. (MultiBufferReader)
3) Fixes one layout test that relies on a file getting read from the server slowly.
4) Avoids going back to the beginning of the block when server chooses to return less
   data than we asked for. (ResourceMultiBufferDataProvider)

+ adds a few more DVLOG statements which I found very useful when debugging.

Review URL: https://codereview.chromium.org/1509663003

Cr-Commit-Position: refs/heads/master@{#365371}
8 files changed