Validate the IV/nonce length for a given algorithm.

Fixes #159
Implement this for CTR
Tests for OFB and CFB
test for ctr
flake8
fixed typo
Merge branch 'master' into validate-iv

Conflicts:
	tests/hazmat/primitives/test_block.py
Merge branch 'master' into validate-iv
Merge branch 'master' into validate-iv

Conflicts:
	cryptography/hazmat/primitives/ciphers/modes.py
	tests/hazmat/primitives/test_block.py
So the tests don't all explode
Merge branch 'master' into validate-iv

Conflicts:
	tests/hazmat/backends/test_openssl.py
	tests/hazmat/primitives/test_block.py
Explanatory comment
Merge branch 'master' into validate-iv

Conflicts:
	cryptography/hazmat/primitives/ciphers/modes.py
Merge pull request #272 from alex/validate-iv

Validate the IV/nonce length for a given algorithm.
Instantiate our hash objects used for supported checks
instantiate hash objects for hmac checks too
Merge pull request #402 from reaperhulk/hash-supported-objects

Instantiate hash objects for supported checks
refactor bindings to reduce code duplication with multiple backends
remove verify_kwargs and replace with pre_include/post_include/libraries
import build_ffi directly