rewriten Cipher internals - now faster, slimmer and more compatible than ever!

- we consult provider services instead of trying to instantiate a JCE Cipher
- OpenSSL to JCE name conversion re-uses the `OpenSSL::Cipher.ciphers` cache
- returned cipher names are now matched closely with OpenSSL's
- where possible do not waste copying byte[] over when not necessary
experimental support for passing down "real" Jana JCE cipher names
allow to run with JCE restrictions disabled (on Java 7+)