Implement encryption
Merge remote-tracking branch 'origin/master'

Conflicts:
	Peer.py
	PeerHandler.py
	test.py
Fix small post-merge problems
Add class to generate new key pairs