Add --backup to Command::upgrade

  - $app->redis object will not be garbage collected
Will automatically run the upgrader on clean installation

  - The reason for this is that we add default values in some of the
    upgrade steps. These defaults should also be inserted to a clean
    database.

  - Remove Mojo::EventEmitter form Convos::Upgrader
  - Change Convos::Upgrader->run takes a callback
  - Refactored upgrade steps