Camellia block cipher support

* Tests for CBC, OFB, CFB, and ECB
* Tests will be automatically skipped if camellia support is not present
  in your OpenSSL library (e.g. OS X 10.8 with default OpenSSL)
* Test for unsupported cipher in create_block_cipher_context
* Docs for the cipher
diff --git a/tests/bindings/test_openssl.py b/tests/bindings/test_openssl.py
index b23c4cc..85ecc49 100644
--- a/tests/bindings/test_openssl.py
+++ b/tests/bindings/test_openssl.py
@@ -11,6 +11,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import pytest
+
 from cryptography.bindings.openssl.api import api
 
 
@@ -28,3 +30,19 @@
         for every OpenSSL.
         """
         assert api.openssl_version_text().startswith("OpenSSL")
+
+    def test_supports(self):
+        assert api.supports("not-a-real-cipher") is False
+
+    def test_create_block_cipher_context_with_unsupported_cipher(self):
+        class FakeCipher(object):
+            name = "FakeCipher"
+            key_size = 24
+
+        class FakeMode(object):
+            name = "CCC"
+
+        with pytest.raises(AssertionError):
+            cipher = FakeCipher()
+            mode = FakeMode()
+            api.create_block_cipher_context(cipher, mode)