Add RedisDatabase gateway.

Rewrite database specs.
Refresh unfinished task bucket in redis when updating task.
Use redis for console application.
DRY up RedisDatabse.
Add #query_user_by_name to RedisDatabase.
Persist password when using redis.
Fix persisting of UnfinishedTasks in redis.
Simplify RedisDatabase#key_for.