Merge pull request #185 from DavidVorick/devcli

Refactor client and client-cli
move src/ to root level
move longhair
move libsodium
update Makefile
update import paths
add comment about LDFLAGS
update client directory structure

and fix import paths
fix network benchmark

for some reason, NewRPCServer was reporting an "address already in use"
error when running the SendMessage benchmark. Various attempts were
made to close the RPC server before opening a new one, but all failed.
Instead, the b.N variable is simply added to the port number used.
I expected this to cause dozens or hundreds of ports to be used during
the benchmark, but I was unable to catch it ever using more than one.
Not quite sure what's going on here; maybe a result of parallelism in
the benchmarking suite.
Merge pull request #187 from lukechampine/reorg

Make Sia go-gettable
merge master into server
Merge branch 'server' into fix

Conflicts:
	client-cli/home.go
	consensus/consensus.go
	erasure/longhair
	server/server.go
	siacrypto/libsodium