Add support for per-user password salt with bcrypt

Like the pepper option, the salt option is also a password suffix implementation.  But unlike the pepper option, where all user records share the same suffix, the salt option uses a per-record suffix stored in the database, which I learnt about via [AuthLogic](https://github.com/binarylogic/authlogic).

My salt implementation will even co-exist with the pepper option, allowing both to be used if so desired.