Temporarily using patched version of Q

Q.async() no longer unwraps returned promises

The following snippet:

    var Q = require('q');
    var test = Q.async(function*() {
        return Q(123);
    });
    test().then(console.log);

now prints { state: "fulfilled", value: 123 } instead of 123
Fixed sqlite.exec not awaiting promises
Migrate task is called via hooks and db is dumped before backup
Backups can be restored; added task detail page