Implemented a basic version of TLS.
Apparently I changed something.
Updated tests.
Added last step of negotiation.
Cleaned up code some.
Merge branch 'crypto' of github.com:Bren2010/go-ipfs into crypto

Conflicts:
	crypto/key.go
rework dagreader to have a dagservice for node resolution
Merge branch 'crypto_merge' into crypto
clean up merge of bren2010's crypto branch