Generate random padding for upload POST

Generate a random string of random bytes to frustrate correlation of the size
of the upload with the size of any known files.
Generate padding from random *ASCII* characters

I encountered problems with transmitting form data where the hidden padding
field contained arbitary UTF-16 characters. The "length" of the padding as
reported in the JS console vs the length reported by Flask once it has loaded
the form object always differed, sometimes significantly.

It may be possible to increase the randomness of the padding by

1. using a better PRNG
2. choosing from the full range of values for each JS string character

but since the request is encrypted, I don't think strong randomness is
essential. The main problem here would be if the uploader decides to use
a clearnet proxy instead of connecting directly to the Tor Hidden service. In
that case, the proxy provider could do traffic analysis, and the full range of
HTTPS attacks are also possible (stripping, CA spoof, etc).
Reword upload confirmation message
Add progress indicator for padding and upload