Add a new 'upgrade' command for local development.
Add a new 'upgrade' command for local development.

The new `manage.py upgrade` command takes care of running `syncdb` and
`evolve`, running both in the same session so that we can take advantage
of the new protection from extension database modifications interfering
with the upgrade process.

This new command is also more helpful, providing confirmation before
making any changes, and automatically backing up the configured SQLite
database (if used) so that the user can easily revert back. The backup
is stored at the location of the original database, with a timestamp
appended.

Backup behavior can be turned off with `--no-backup`, and confirmation
can be turned off with `--noinput`.

Testing Done:
Tested this with default behavior on SQLite3 and MySQL. Verified that
upgrades occurred with SQLite3.

Tested both `--no-backup` and `--no-input`.

Reviewed at https://reviews.reviewboard.org/r/10244/

chipx86/reviewboard,reviewboard/reviewboard,reviewboard/reviewboard,chipx86/reviewboard,reviewboard/reviewboard,reviewboard/reviewboard,chipx86/reviewboard,chipx86/reviewboard