This is a reminder to finish up/reboot the aborted PR #410
These optimizations would be extremely useful for xray's integration with dask (both internally and for our users), by allowing us to write transformations on entire dask arrays without any cost in unnecessary IO. Once this is working robustly, I'll be able to delete a pretty significant chunk of code from xray that deals with lazy computation.