initial structuring for server and server-cli
Merge branch 'devcli' into server
merge client and server packages
switch to using an address instead of its 3 component variables
formatting and usability in client cli
Correct the usage of 'fmt.Scanln'
Change connection internals

The client no longer contains a bootstrap address, instead one is
requested from the user. The client only maintains a list of siblings.

I do want to add a feature to update the sibling list without completely
reconnect - some sort of automatic housekeeping. I guess that's a
feature for later though.
move router initialization to a frontend-managed part of the client
Merge branch 'devcli' into server

Conflicts:
	src/client-cli/home.go
	src/client-cli/server.go
	src/client/client.go
bring the cli to where it can bootstrap a participant
de-export NewSibling()
a few formatting changes
gitignore for servers/

The 'servers/' folder can be used to put servers while testing and
performing QA on the software.
Merge branch 'devcli' into server
delete old snapshots after making new ones
fix directory and pathing issues
merge master into server
Merge branch 'server' into fix

Conflicts:
	client-cli/home.go
	consensus/consensus.go
	erasure/longhair
	server/server.go
	siacrypto/libsodium
polishing from unclean merge
basic status functionality for servers in cli