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
Add verify function to hmac and hashes.
Attempt to handle the fact that based on defines ASN1_ITEM_EXP might be something else
Clean up some docstrings
Merge pull request #320 from alex/cleanup-asn1-crap

Attempt to handle the fact that based on defines ASN1_ITEM_EXP might be something else
Make these examples consistent
Merge pull request #321 from alex/docstring-cleanup

Clean up some docstrings
Initial basic bindings for ssl
Delete some repeated functions, and move the OPENSSL_malloc definition to crypto bindings, since it seems to be in crypto.h
Move a few macros to macros
Unfortunate hack to make replacing some callback signature in the function definitions work