Mild refactor of erasure package.

Naming now reflects the idea that multiple types of erasure can be
included. Additional error checking has been added. Unneccessary error
checking has been removed (unnecessary becaues the variable types were
changed to more restrictive types). The many line merge sort was
replaced by 15 lines of code that perform a much simpler and O(n)
collapse sort.
Merge pull request #171 from DavidVorick/review

Mild refactor of erasure package.
update siacrypto funciton names, minor change to probabilistic test
rename package participant to consensus
Move Block and Heartbeat to the delta package
split block functions into proper packages
add file detailing the difference between production builds and development builds
allow client to select bootstrap ID

TODO: implement an RPC "Ping" to allow for ID-specific pinging.
Currently, the client will report "Successfully Connected!" even
if the ID is wrong.
Add Disconnect method to Client
divide block.go into block.go and blockhistory.go
revamp SaveBlocks
update serverHandler doc string
compile libsodium statically and add release target
implement LoadBlock, switch allow for unintialized recent history
add TestSaveAndLoadBlock
Merge branch 'master' into review

Conflicts:
	src/client/client.go
Merge pull request #172 from lukechampine/reorg

Compile libsodium statically
move snapshot, reimplement first half of process
reorganization, comments
write quorum to file in snapshot.go