add UploadFile()
fix clientHandler bug

clientHandler now allocates a separate slice to contain payload
instead of reslicing buffer. This was causing the contents of
payload to be overwritten on subsequent Reads into buffer.
Moral of the story: be careful around slices.
add test for UploadFile()
use random test data