split backend up (refs #170)

* Moves cipher methods into a Ciphers class and hash methods to a Hashes
  class and makes them available inside Backend as pluralized
  attributes.
* Shortened many of the methods since their purpose is now defined by
  their container class
diff --git a/tests/primitives/test_cryptrec.py b/tests/primitives/test_cryptrec.py
index d8c9aaa..5e0b12d 100644
--- a/tests/primitives/test_cryptrec.py
+++ b/tests/primitives/test_cryptrec.py
@@ -37,7 +37,7 @@
         ],
         lambda key: ciphers.Camellia(binascii.unhexlify((key))),
         lambda key: modes.ECB(),
-        only_if=lambda backend: backend.supports_cipher(
+        only_if=lambda backend: backend.ciphers.supported(
             ciphers.Camellia("\x00" * 16), modes.ECB()
         ),
         skip_message="Does not support Camellia ECB",