Reorganize build definition
Reorganize net.secloud.core.utils package

Rename classes

BinaryReader -> BinaryStreamReader
BinaryWriter -> BinaryStreamWriter

and make them extend the new traits StreamReader and StreamWriter. The
implicit conversions from InputStream and OutputStream to the
corrosponding reader and write class are now methods of the package
object.

Remove RichStream and move the single needed method pipeTo into the
StreamUtils class as pipeStream method.
Make BlockInputStream, BlockOutputStream private

Instead add methods StreamReader.readStream and StreamWriter.writeStream
to allow reading and writing of inner streams using the BlockInputStream
and BlockOutputStream.
Make NullEncryptionSpec serialization independent
Remove duplicated code from tests
BinaryStreamReader/BinaryStreamWriter value class

This avoids unnecessary instantiation of BinaryStreamReader or
BinaryStreamWriter classes, since the compile optimizes their methods to
static methods.
Add AsymmetricAlgorithmInstance.fingerprint
Refactor
Initialize database with empty commit
Make commit tree explicit

Now the Repository.commit function gets passed an explicit tree id and
key instead of calling Repository.snapshot by itself.
Test RepositoryFileSystem.read
Fully implement RepositoryFileSystem
Ignore .idea/ folder
Organize imports
Support executable files
Remove Eclipse related stuff

Now using IntelliJ IDEA and hence Eclipse plugins and JUnit stuff can be
removed.
Organize imports
Fix
Clean up Repository class

Tree traversing and reading is already implemented in class
RepositoryFileSystem and hence can be used from there.
Add obj-,tree-,blobOption to RepositoryFileSystem