Move register so it can be used by cryptography.hazmat.bindings.interfaces.
flesh out method definitions.
Change interface names to fit in the new smaller interface surface and
correct method names on interfaces.
Start documenting the backend interfaces.
Fix usages of interfaces.register
Document backend interfaces.
Hashes and HMACs.
Move more uses of interfaces.register...
Move interfaces.register to utils.register_interface in preparation for more interface modules.
Merge pull request #270 from dreid/register-to-utils-register_interface

Move interfaces.register to utils.register_interface in preparation for more interface modules.
Merge branch 'master' into backend-interfaces
Merge branch 'master' into backend-interfaces
Some docstrings.
Describe what backends provide via these interfaces and that not all backends must provide all interfaces.
Merge pull request #268 from reaperhulk/nist-loader-section-fix

modify nist loader to support multi-line GCM sections
Merge pull request #269 from dreid/backend-interfaces

Backend interfaces
Prototype CommonCrypto (OS X, iOS) support.

* Requires OS X 10.7+ or (presumably) iOS 6+
* Supports AES, 3DES, Blowfish, CAST5, and ARC4
* Supports SHA-1, SHA-2 family, MD5
* Supports HMAC
* No way to check if the binding is available on your platform except
  try/except on the import