crypto/pbkdf2: reject salt if it's too short, instead of failing

Closes #275.