Made forms tests use Mezzanine's TestCase.

Not currently necessary, but potentially surprising if you add something
to the TestCase.
Made MenusField respect the current value of PAGE_MENU_TEMPLATES_DEFAULT.
Made MenusField also support dynamic changes to PAGE_MENU_TEMPLATES.

This costs a call to a private Field._get_choices(), because
Field.choices is already a property.
Small semantic change in MenusField behavior, now in_menus returns an
empty tuple instead of None for a page not in any menu.

This seems more consistent with PAGE_MENU_TEMPLATES_DEFAULT = tuple().
Cleaned up in_menus defaults test.

Making use of the runtime settings changes support.
Replaced page.login_required handling by redirect_to_login shortcut
from contrib.auth to support LOGIN_URL set to a view, view name or a
translation proxy.
Extended the test_login_required to check if LOGIN_URL set to view or
pattern name still allows the decorator to work as expected.

The new cases are only checked if mezzanine.accounts is installed.

These additional LOGIN_URL possibilities were introduced in 1.5; view
objects should also work, but don't seem to be documented.
Don't test the new options with 1.4, it's not supposed to support them.
Merge
Merge
Prevent duplicate app names when testing.
Extend renamed_get_queryset to also support admin classes, and apply to OwnableAdmin.
Fix admin inlines for subclasses doing their own fields manipulations (e.g. through get_fieldsets).
New USE_MODELTRANSLATION setting that adds "modeltranslation" to the
optional apps, is available in templates and gets set to false if the
module couldn't be loaded.

Default Mezzanine configuration is already suitable for multilingual
projects, i18n and languages settings, i18n context processor, locale
middleware and i18n patterns are in place.

This and following commits have been cherry-picked from an old
(~Django 1.5) modeltranslation-integration branch; a couple of the
previously applied changes are no longer needed and were dropped.
Register all Mezzanine content for translation (excluding keywords as they will need special handling due to generics).
Base classes need to be registered for translation before their descendants.
Update all translations of derived / generated fields when models
are saved (Slugged.slug, MetaData.description and Page.titles).

Helpers for executing code without language fallbacks (when you
need to know when a value in the current language is available)
and for iterating a function with each of available languages
activated in turn.

Slug handling is a bit cleaner than in previous version, but still
it's one of the more involved pieces of the modification. Automatic
translated slugs are too nice to drop it however.

Conflicts:

	mezzanine/core/models.py
Let TranslationAdmin be used for anything that potentially can have translated fields.
Use modeltranslation scripting to display translation fields as tabs on default.

Compared to the previous version we can now rely on the jQuery UI bundled with
Mezzanine. Hurray! :-) Now there's also a ``JQUERY_UI_FILENAME`` setting, making
the additions to the base template fairly general; one thing left requiring a line
of fancy code is linking to the UI theme.

Conflicts:

	mezzanine/core/templates/admin/base_site.html
Avoid inserting translation fields into forms as extra fields,
TranslationAdmin handles them properly on its own.

Conflicts:

	mezzanine/pages/admin.py
New ``update_generated_fields`` command (currently resaving all models deriving
from Slugged, MetaData and Page). In case of some fields (such as "slug"), one
cannot have one translation set and rely on fallbacks for other languages, as
they don't work with filtering / lookups. For example, if you create a new project
loading example fixtures, migrate and update translation fields, you still won't be
able to browse most pages in any non-default language until you give them a chance
to generate translated slugs.