Prevent EPIPE broken pipes on storing data larger than 1kb

Currently the implementation will only read the first 1024 bytes of data from the socket when calling STOR before closing the pipe. This has been raised in Issue #15

The fix is to accept whilst there is data to receive and then break, I've updated the test suite with a working example of a longer upload as well.

Hope this helps.