Merge pull request #18 from Doplgangr/master

Revert "- Removed: build folders"
Renamed storage->Storage
Added protobuf Vault and File headers
Added protobuf to build.gradle
Reworked crypto and file classes

Changes:

Replaced the unsecure AES ECB mode encryptor with a AES CTR mode
encryptor. This implements the interface Crypter. Secrecy could use
different implementations of this interface for encryption.

The AES CTR encrytor uses a random AES key to encrypt all files in a
vault. This random AES key is stored encrypted with a key, generated
from a passphrase and a random salt using PBKDF2.

Each file has a header with a random nonce for the AES CTR encryption.
Filenames are replaced with random UUIDs and the original file name is
stored encrypted in the file header.

The old File class is replaced by the abstract class SecrecyFile which
has two concrete sub-classes: EncryptedFile and EncryptedThumbnail.
These  two are created and loaded by the EncryptedFileFactory.

Events are now models as own classes. I think this improves readability.

Two own Exceptions SecrecyCipherStreamException and SecrecyFileException
are introduced to handle special exceptions.
Fixed crash on loading thumbnails for non-media files
Added AES CBC encrypter

AES CBC and CTR encrypter only differ in the selected encryption
algorithm. Therefor the AES_Crypter class contains all common methods.
Added legacy ECB encrypter

This is just for upgrading purposes. Thumbnail creation and other
functions does not work, but it can read old ECB encrypted files for
upgrading purposes.
Changed .gitignore
Added gradle wrapper
Removed build directories
Removed local.properties and app.iml
Try other random file name if random file name already exists.
Added method to change passphrase of a vault
Added possiblity to change vault passphrase from the user interface
Added German strings for passphrase change action
Fixed doubled file extention on decrypted files
Fixed: Deletion of files now also deletes file and thumbnail header
Fixed possible NullPointerException in EncryptedFileFactory
Code cleanup. Removed unecessary imports, declared variables as final if possible