Support pbkdf2 with sha256.

Squashed commits:
[4a15e33] The salt is a ascii string of hex values.
[3d1561d] Spec passes.
[c7dac68] Stop rake failures.
[10ab101] Fails to run.
[2345ac4] Commit work in progress.