Runtime tests:

    - Remove a lot of the useless HKDF test vectors.
    - Add AES-CBC test vector.
    - Add HMAC test vector.
    - Make tests run before encryption, decryption, and key gen.
    - Use constant to set key size instead of getting it from mcrypt.
Add benchmarks and "cache" the runtime test results.