Add CommonCrypto cipher backend

Adds cipher support to CommonCrypto. Backend error handler uses ```SystemError``` for now to be consistent with the OpenSSL backend, but when #479 is resolved both backends can be changed.

GCM support will be added in a future PR.