m_password_hash: Use out_size as HMAC-key length, as RFC2104 recommends

"In any case the minimal recommended length for K is L bytes (as the hash output length)."
Hashing: Redo API

* Don't assume the printable output of hashes is hex
* Add virtual Compare() function, usable for KDFs like BCrypt

Some changes and bugfixes are by @attilamolnar, original PR #767
m_bcrypt: Add module

bcrypt updated to 1.3 by @attilamolnar, original PR #767
m_pbkdf2: Added module

Bugfixes and minor changes are by @attilamolnar, original PR #767
m_pbkdf2 Less string copying