lower ciphername, add api supports, improved assertion message

* supports method added to api to check if a ciphername is available.
  This will be used with skipif (and probably elsewhere)
* ciphername lowered. OpenSSL frequently supports aliases for various
  casing, but reliably supports all lowercase.
  (e.g. camellia-128-cbc, vs Camellia-128-CBC)
* When a cipher is not found an error will now be raised telling you
  what string cipher it couldn't find. This should probably become a
  real error like CipherNotFoundError.
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
add pytest.ini with flags to show skipped test reasons, revert tox.ini
rebase and modify to support some changed behaviors

* Update code to reflect new api object (ffi and lib are no longer private)
* tests updated to take an api object
* skipif marks removed for now as we need to use the api passed to each
  individual test. skip testing done inside the test
* changed name of supports in api to supports_cipher (future PRs will
  contain supports_hash)
remove openssl api dependency in test_openssl_vectors

Update some single quotes to double for consistency
change camellia keysize to frozenset to match recent PR
Load types from all cffi modules before declaring functions or macros

This change loads all the types via cdef & then loops over the macros
& functions and cdefs them. The advantage of this approach is that you
can define the types in the right modules without worrying about
import order. For example, if you need the BIO typedef in the asn1
module but it is defined in the bio module you can still import
the modules alphabetically and expect that BIO will be properly
declared.
loop over functions and macros separately rather than using zip
Merge pull request #99 from reaperhulk/cffi-load-types-first

Load types from all cffi modules before declaring functions or macros
add some openssl CRYPTO_* methods for memory debugging. refs #77
skeleton openssl conf support refs #77
Merge pull request #101 from reaperhulk/openssl-mem-dbg-support

add some openssl CRYPTO_* methods for memory debugging. refs #77
Merge pull request #102 from reaperhulk/openssl-conf-support

skeleton openssl conf support refs #77
add pragma: no cover to handle coverage in the tests for the moment
openssl initial bio support (refs #77)
Merge pull request #100 from reaperhulk/openssl-bio-bindings

openssl initial bio support (refs #77)
A handful of small style fixes
use the pragmas consistently.
Merge pull request #72 from reaperhulk/camellia-support

Camellia support
Merge pull request #103 from alex/style-fixes

A handful of small style fixes