Merge branch 'master' into common-crypto-backend

* master: (24 commits)
  Expose the innards of DH and DSA
  More bindings for asymmetric stuff
  Tell cffi these opaque types are pointers.
  rename variable to be less confusing and terrible
  Document when the common crypto bindings were added
  Expose a name needed for ECDHE -- the NIDs are always available
  Expose the nids for the various eliptical curve things. I don't understand what these mean.
  Specify the epub theme to fix the epub build on RTD.
  Added forgotten decl
  reversed
  Allow these to not be defined because lololol fedora/centos
  add conditional ERR_remove_thread_state. PyOpenSSL uses this
  Don't require sphinx spelling to be installed, for readthedocs benefit
  This is also a requirement
  oops
  Start binding some stuff for ECDHE in pyOpenSSL.
  check if openssl is installed via homebrew on osx. install if not
  Verify the tag len for GCM
  remove comment that's no longer needed
  Make just one call to ffi.cdef for most of the definitions
  ...