Optimize regular expression in editor.js

Remove 'for' cycle and RegExp not useful.
Implemented a MarkupField.

This field renders the page bodies using any of the existing markup
filters and stores the result in the cache. By using this, we'll remove the
need for extra <field>_html fields for storing the HTML contents.

Part of bug 2828.
Moved markup-specific code to pootle.core.markup.
Adapt existing models to use MarkupField fields for markup.

Removes the requirement for extra DB columns and handles the conversion
transparently without the need to override model's save.

Fixes bug 2828.
Use a custom JSON encoder.

This allows to transparently call force_unicode on objects that may
need it.
We're at least on Python 2.5, so use hashlib directly.
Organized imports.
Added comment.
Removed copies of timezone helpers.

We are already on 1.4+, so we can import the helpers straight from the
framework.
Organized imports.
Use functools.wraps.

This is available since Python 2.5, so there's no need to roll our own
thing for this task.
Changed slug to virtual_path.

This will allow to use more characters than in slugs; forward slashes,
for instance.

Fixes bug 2843.
Fixed function call.
Fixed use of the wraps decorator.

Note to self: think before performing blind search and replace operations.
Static pages now share a more generic /pages/ URL root.

Part of bug 2829.
Ensure virtual path uniqueness across page models.

Part of bug 2829.
Docs: Add pootle-specific import conventions in styleguide

[ci skip]
Docs: minor fixes
Docs: Add external links to Pootle docs conf
Use docs.translatehouse.org not readthedocs.org URLs