Add streaming for file moving/copying.

Added streaming, where available, for moving/copying of SantizedFile.

This doesn't completely fix the issue with streaming, as that will require a re-work of the existing API to support chunked reads.  However, it does keep large files out of memory where possible (e.g. Streaming a large POST body as binary) - at least in the behaviour of sanitized file.

I'm aware there is a fairly bad hack to support the legacy api - but I can't see a way around it without major incompatibilities.