Initial bindings for OpenSSL ENGINE support.

* These bindings are sufficient to allow a user to use the rdrand engine
  (if available) and set an instantiated engine as a default for various
  operations.
* Reminder: OpenSSL engines require careful management of both
  structural and functional references or else you'll leak memory.
Merge pull request #98 from reaperhulk/openssl-engine-bindings

Initial bindings for OpenSSL ENGINE support.