Added buffering to reduce the number of calls.  This reduces file
copying speed by around 7x in my tests.

See: https://gist.github.com/jimfulton/6200533