change sharePeers algorithm

Previously, sharePeers returned up to 10 random peers. No
duplicate checking was done. Now, it instead returns the first 10
(or fewer) peers from tcps.AddressBook(). As before, these peers
will be randomly selected, but this time due to map iteration
rather than explicit calls to math/rand.

The Bitcoin equivalent of sharePeers returns up to 2500 peers,
choosing them from the set of peers that have timestamps <3 hours.
We may choose to adopt a similar scheme in the future, to prevent
the sharing of dead nodes. (Alternatively, we could run a "garbage
collector" to remove stale peers before sharing them.)
add TestPeerSharing
add contact info to readme (fixes #156)
no need for template.Must
safer addPeer RPC
godoc nitpicking
remove unresponsive peers
add peer culling test
implement add/remove peer api call
add getExternalIP
Merge pull request #172 from NebulousLabs/peers

Peering tweaks
switch environment to using wallet interface
switch considerContract to new api
update storage proof submitter to use new wallet interface
finish integrate new wallet interface
fix make after rebase
add test for producing empty block
augment empty block test