Prototype CommonCrypto (OS X, iOS) support.

* Requires OS X 10.7+ or (presumably) iOS 6+
* Only supports AES 128/192/256 using ECB/CBC/OFB/CFB at this time
* No way to check if a binding is available on your platform except
  try/except on the import
Add hash support to the commoncrypto prototype backend.

Some refactoring of how it determines supported ciphers (incomplete)