Cleans up happiness_upload.py
Reframes test_each_byte in terms of share 2
Removes error in establishing servermap_peers
Cleans up upload.py
Fixes test which is expecting a different server
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.