Add PasswordHash overloads & simplify

Cleaner execution flow, so all calls to ScryptHashBinary flow to a
overload. Enforces a salt size of 32 bytes, as per the libsodium docs -
this may break compatibility with 0.4.0 (even more than me renaming all
the methods earlier...). The new ScryptHashBinary overloads should make
it more useful with derived values.