Create first version of VirtualFileSystem

This trait is supposed to replace the RepositoryWorkingDir class. In
addition the RepositoryDatabase will work with the VirtualFileSystem
trait, too, to allow easy accessing of commited content.
Use VirtualFileSystem as working directory

Remove net.secloud.core.RepositoryWorkingDir class and instead use a
more general approach with a virtualized file system defined in the
trait net.secloud.core.VirtualFileSystem as working directory.
Rename RealVirtualFileSystem to NativeFileSystem
First implementation of RepositoryFileSystem

The net.secloud.core.RepositoryFileSystem implements the
net.secloud.core.VirtualFileSystem trait and allows easy accessing of
data in a commit.

Remove VirtualFileSystem methods openRead and openWrite.
Add NullFileSystem

Simple stub for a filesystem, that contains no elements.
Make VirtualFile independent from VirtualFileSystem
Merge (Non)ExecutableFileTreeEntryMode
Merge branch 'dev' into vfs

Conflicts:
	core/src/main/scala/net/secloud/core/Repository.scala
Readd Repository.commit method
Merge branch 'dev' into vfs

Conflicts:
	core/src/main/scala/net/secloud/core/Repository.scala
	core/src/test/scala/net/secloud/core/objects/ObjectSerializerSpec.scala
Merge branch 'dev' into vfs
Add RSA test keypairs generated with OpenSSL
Add readMap and writeMap to BinaryReaderWriter
Start with refactoring crypto classes

The encryption will be completely refactored to use BouncyCastle for all
tasks. This has the advantages:

* AES-256 available even without modifying the JCE configuration
* Works on systems without JCE (for example embedded devices)
* More crpyto algorithm

The disadvantage of lower encryption speed (especially for AES) is
outperformed by the advantages.

The namespace changes:
net.secloud.core.security -> net.secloud.core.crypto
Merge branch 'master' into bc
Cleanup
Cleanup
Fix spec classname
Merge commit 'd0c0ca4c72dea579df71f2af3be66340e81e2654' into bc
Add first version of RSA