hkdf
Refactor HKDF support and provide vectors for tests.
This got split into SHA1 and SHA256
Break up hkdf_derive into hkdf_extract and hkdf_expand.

Testing each individually against all the vectors and actually
asserting about the intermediate state.

hkdf_derive is now just a helper function which copes with the
default arguments.
Fix pep8.
Fix case.
Use the nist vector loader.
Closer to proposed interface in #513.