Improved encryption key handling by using cipher.wrap and unwrap

The cipher.wrap() and .upwrap() methods are especially designed to
encrypt a key. Although the result stays the same, the purpose of this
operation is more clear.
Added Spongy Castle security provider

Android ships a cut-down version of Bouncy Castle. This results in
encryption/decryption errors in older Android versions when using AES-
CTR mode.
Merge pull request #48 from L-Henke/spongycastle

Added Spongy Castle security provider