Uploads and Downloads

As of this pull request, you can perform uploads and downloads on generic wallets!

That means that for the alpha, we've just got 3 major bullet points left:

1. Proof of storage! (coming right up!)
2. Self-Repairing files (this will be very bandwidth intense and makes me sad - will be better once the MSR codes are done - which won't be for a while sadly)
3. I forgot >.<

But it might have been along the lines of a quick code cleanup, testing, or setting up a test network.
there are a few ways I can see to improve this process (error checking, concurrency, robustness) but it should work fine for the naive case.