auth: use bcrypt in CheckPassword, with a fallback to the old hash

The flow is very simple: first, it tries to authenticate the password
using bcrypt. If the authentication fail, CheckPassword will try to
authenticate using the old hashing method, updating the hash in the
database if the authentication suceed.

Related to #150.
auth: use smaller cost for hashing during tests

This change makes the test suite 20 seconds faster :-)