clean up tcpServ upon error
add Ping method and tests
use byte slices instead of values
replace Code Layout doc with graph
make Ping return an error instead of a bool
Merge pull request #177 from lukechampine/reorg

reorg: scripting + network
make SignInput take an object, not pointer
update client and server for new model
Merge pull request #178 from lukechampine/reorg

Reorg: client + server
Change atom size to 64 bytes, from 4096 bytes

There are a few major implications. The first is that you can no longer
have sectors with only 1 atom, beacuse sectors need to have QuorumSize
hashes. Under the new system, sectors can have 0 atoms (indicating no
data), otherwise they need a minimum of QuorumSize/2 atoms, because the
first QuorumSize/2 atoms will be used to store the hash values of the
sector.

This additionally means that the storage proofs and verifications are
going to work differently.
Merge pull request #179 from DavidVorick/atomsize

Change atom size to 64 bytes, from 4096 bytes
add rpc call to load snapshot metadata
add function to load the wallet list from a saved snapshot.
add support for wallet list during bootstrap, and through RPC
include downloading wallets in the synchronization process
add testing for snapshotoffsettable encoding
add test for walletOffset encoding
test loading metadata from snapshots
test wallet fetching, fix a smattering of bugs
fetch all recent blocks after downloading snapshot