Removing padding from the encryption API

* Padding is fundamentally an operation that occurs prior to
  encryption to make plaintext suitable.
* Even though wether it's regarded is dependent on the mode, it
  can be used safely regardless.
* Moving it out of this API makes the API's simpler and more
  composable.
* Moving it out of this API makes it simpler for backends that
  don't work exactly like OpenSSL's EVP.
* Move it out of this API makes it simpler to include padding
  that OpenSSL's EVP API doesn't expose.
Merge pull request #30 from dstufft/simplify-api

Removing padding from the encryption API