Renames functions in upload.py and happiness_upload.py

Updates documentation regarding server selection.
Removes comments describing the old upload algorithm.
Renames confusing instances of servermap.
Removes _get_next_allocation from immutable/upload.py
undelete HelperUploadResults.preexisting_shares

This is returned from the upload helper over the wire (using foolscap
object-copying) and then used to initialize the local UploadResults object for
displaying results to the user. Removing it broke a unit test
(allmydata.test.test_helper.AssistedUpload.test_already_uploaded). Also, if we
did remove it then I think there might be a backward-compatibility problem
where a newer helper would not be sending that member variable over and an
older (e.g. v1.10) client might be expecting it. I don't understand how
foolscap object-copying would handle that version skew. There's a comment in
the HelperUploadResults code about it.

By the way, in my mind this sort of confusion is a good reason to migrate off
of using a remote object protocol and toward a less flexible custom protocol.
major edit, examples added, much removed

There is one XXX in there, which I expect Daira will look at soon. (Although Mark or others are more than welcome to.)