Fixes issue in test_problem_layout_ticket_1128

Deleting the storedir breaks the test server by setting the remaining
free space to 0, and therefore the server will refuse any shares even
if the placement algorithm is correct. This removes the shares from
server 0 without corrupting its other properties.
Adds edge case when happiness can't be met
Calculates maximum matching from readonly servers first

In order for happiness_upload to return a happiness of 3 on
test_problem_layout_ticket_1128 in test_upload.py, the readonly
servers must have a higher priority than other existing shares.
Removes some unnecessary parts from old uploader
Improves logging for error messages in new uploader
Adds failure message to _got_response_2
Removes extra +1 to number of servers contacted
Makes download finder deterministic

While the previous algorithm would reliably distribute shares
in increasing order to the trackers, Upload of Happiness doesn't do
this. This causes the finder to query for a random set of shares based
on the order shares are allocated by the uploader. In order for the
finder to have a reproducible behavior, the finder must sort servers
by their server id because Upload of Happiness tracks servers by server
id in a set.
Adds specification doc for Upload Strategy of Happiness
Peer Selector tracks allocations accepted by the server
Cleans up happiness_upload.py
Reframes test_each_byte in terms of share 2
Removes error in establishing servermap_peers
Cleans up upload.py
Limits the number of servers contacted by the uploader to 2n
Adds test_number_of_servers_contacted

This test ensures that Tahoe only contacts 2n servers during
the peer selection process.
Fixes catalog_detection in test_download.Corruption.test_each_byte
Updates test_each_byte with different offsets

Now that test_each_byte downloads share 2 first, we can only detect corruption
at a different set of offsets. These changes reflect those offsets.

There is a significant reduction in the amount of corruption we can detect
when switching from share 0 to share 2. I'm not sure if this is a biproduct
of having a different share or if I have done something wrong. I may have
calculated the offsets incorrectly.