Limit number of blocks buffered in memory during fetch

This avoids excessive RAM usage when fetching very
large files when the user's network link is much slower
than the intra-cluster network links.
Merge pull request #570 from arekinath/bugfix/excessive_fetch_ram_usage

Limit number of blocks buffered in memory during fetch