Don't read entire file into memory when saving to local blob storage. (local files)

We are using the local blobstore as a backend for concurrent uploads and
observed that memory was leaking quite quickly as GC cannot keep up.

So here, when the dest, src are  both local files, instead of calling
File.read, simply copy the file.
Namespace File
Merge pull request #2703 from jdpaton/master

Don't read entire file into memory when saving to local blob storage.