some refactoring; implemented RSA CryptoAlgorithm using gnu-crypto package;
some documentation added to Rsa; removed manual array-copy;
implemented DiffieHellman;
added Aes-CryptoAlgorithm;
some refactoring;
adopted folder structure to match dev;
Merge branch 'crypto-basics' into dev

Conflicts:
	build.gradle
	chain/src/main/java/ChainMain.java
	chain/src/main/java/ChainNode.java
	client/src/main/java/Empty.java
	common/src/main/java/CryptoSocket.java
	common/src/main/java/Message.java
	common/src/main/java/Serializer.java
	directory/src/main/java/BasicDirectoryNode.java
	directory/src/main/java/ChainNodeHandle.java
	directory/src/main/java/DirectoryMain.java
fixed problems caused by merge;