Added maintenance mode via middleware

In order to enable this, the `MAINTENANCE_MODE` setting needs to be set to
`True`. The sample configuration files include more information on how the
middleware works.

Fixes evernote/pootle#39.

Conflicts:
	requirements/base.txt
Followup for maintenance mode: Release notes and template tweaks

* Record addition of maintenance mode to release notes
* Adjust the maintenance template:
    * Remove CSS stylesheet we don't have.
    * Avoid hardcoding URLs, instead make them depend on base URL.
    * Also alter the /media/ URLs to use /assets/ instead.
    * Change the icon image to use.
Fix evernote/pootle#36. Show 100% for total and translated if total == 0

Conflicts:
	pootle/static/js/stats.js
Use JavaScript variable naming style

Conflicts:
	pootle/static/js/stats.js
Provide reviewer's information to last action message when suggestion is accepted.

Fix evernote/pootle#35.
Cleanup: removed dead code

Conflicts:
	pootle/static/css/style.css
Added 'announcement' page type

This is a hackish way to create a special regular page, and most of its
singularities are specified in view code. Announcements are not an entity
of their own and they are represented as static pages in the model and
database level. Not the cleanest and fanciest way of doing this, but since
these special pages are a temporal workaround, it's a trade-off we can
make.

Part of evernote/pootle#59.
Fix bug introduced by last commit
Correctly update the state of the translations done by a system user and
after suggestion accepted (issue evernote/pootle#26)

Pick notes: Didn't pick the commented code. Minor adjustments because of
    code divergence.

Conflicts:
	pootle/apps/pootle_store/models.py
	pootle/apps/pootle_store/views.py
Fix bug. Invalidate cache when change unit state from translated to untranslated from the web form.
Fix evernote/pootle#35
Prepare data for unit creation time rendering (issue evernote/pootle#60)
Partial pick: Add last_updated column to the overview table (issue evernote/pootle#61)

Pick notes: Didn't pick the changes in the refresh_stats management command
    and dropped the usage of the statslog decorator. Also did some changes
    in the translationproject overview view.

Conflicts:
	pootle/apps/pootle_app/management/commands/refresh_stats.py
	pootle/apps/pootle_project/views.py
	pootle/apps/pootle_translationproject/views.py
Docs: added page about supported browsers
Followup: Record in release notes that we only support latest browsers
Display announcements in a sidebar

Part of evernote/pootle#59.

Pick notes: Minor adjustments in translationproject views.

Conflicts:
	pootle/apps/pootle_translationproject/views.py
Remember sidebar's expanded/collapsed state

Part of evernote/pootle#59.

Conflicts:
	pootle/apps/pootle_translationproject/views.py
Force expand the sidebar when announcements change

This is controlled on a per-project basis and overrides the user's choice
of keeping the sidebar collapsed or expanded.

Part of evernote/pootle#59.

Conflicts:
	pootle/apps/pootle_translationproject/views.py
Partial pick: Cleanup: coding style fixes

Pick notes: Part of the changes were already done, and the changes in the
    management commands don't apply because we either changed most of its
    code or we still didn't add the command (test_checks).

Conflicts:
	pootle/apps/pootle_app/management/commands/refresh_stats.py
	pootle/apps/pootle_app/management/commands/test_checks.py
	pootle/apps/pootle_store/models.py
	pootle/apps/pootle_store/views.py
	pootle/apps/pootle_translationproject/models.py
Rather use `get_profile()` on the `User` object