Split updatedb functionality.

Originally updatedb served as a command for two different purposes:
- Performing database schema upgrades.
- Performing actions specific to Pootle/TT version upgrades

Since Pootle is transitioning to South, we need to ensure that:
- Old users will still be able to upgrade
- Version-specific upgrade actions will be able to be performed once
  database schema migrations are handled entirely via South

The updatedb management command has been slimmed down to perform only
schema upgrades and only up to version 2.5. That way we ensure old users
can upgrade, and we move the version-specific actions to a new command,
upgrade. The new upgrade command will keep track of which build version of
the code is running the site in order to perform the necessary post schema
upgrade actions.

Schema upgrades starting from 2.5+ will be entirely handled via South's
migrate command.

Part of bug 2773.
Moved buildversion retrieving code into its own function.
Refactored upgrade code.

Less code, removed potential duplication.
No need to call save_xxx_version on each upgrade function.

The build version will be automatically extracted from the function name,
which needs to follow the `upgrade_to_xxx` pattern.
DEFAULT_POOTLE_BUILDVERSION is the maximum allowed in updatedb.

The value for this is the buildversion of Pootle 2.5 so it will prevent
newer installations from running updatedb accidentally.
Setup schema migrations à-la South.

Now Pootle is using the autodetector instead of the internal API and
phases out the old one-for-all breaks-your-installation-from-the-web
updatedb command.

These are the last bits to fix bug 2773.
Incremented product and build numbers.
Fix in Select2 CSS image location
Don't calculate hex digest for non-ascii email addresses.

Non-ascii chars shouldn't be validating email addresses but just in case
email addresses come from other sources, let's catch the exception.

Fixes bug 2812.
No need to use the Toolkit's wrapper around md5 functions.

Since Python 2.5 the md5 module is deprecated in favor of hashlib.
Removed unused import.
Fixed failing import.
Renamed variable to keep proper semantics.
Show all sucessfully created news items
Remove unnecessary check in handle_form() view in pootle_notification app
Move NoticeForm factory to forms.py in pootle_notifications app
Fix breadcrumbs in translation project news

This fixes bug #2813.
Improved code readability + PEP8 fixes.
Use for..empty instead of if and for django template tags
Apply styleguide recommendations to notices.html template