Implement Password extension

This uses @ircmaxell's password_compat library to implement the `password` extension on top of the underlying crypt functions.

Closes #992