Imported BaseEngine from the DEP.

i18n is left aside for now.
Added initial support for loading template engines.
Added dummy template backend.
Added jinja2 template backend.
Added Django template backend.
Added basic tests for template backends.
Removed some uses of global APIs from django.template.loader.
Passed a reference to the current engine when instantiating Template.
Isolated template tests from Django settings.
Looked up the default template engine in the list of all engines.
Supported multiple template engines in get_template and select_template.
Removed private API find_template.

It wasn't documented and it wasn't used anywhere, except in a few tests
that don't test it specifically and can be rewritten with get_template.
Supported multiple template engines in render_to_string.

Adjusted its API through a deprecation path according to the DEP.
Added a comment about the last use of Engine.get_default().
Moved context_processors from django.core to django.template.
Simplified implementation of django.shortcuts.render(_to_response).

*args, **kwargs brought more confusion than concision.
Deprecated some arguments of django.shortcuts.render(_to_response).

dictionary and context_instance and superseded by context.

Refactored tests that relied context_instance with more modern idioms.
Preserved context class in inclusion_tag.

Previously, when a template was rendered with RequestContext, inclusion
tags were rendered with a plain context, losing additional information
available in the RequestContext.

The (admittedly bizarre) implementation of RequestContext.new() has the
side-effect of not running template context processors, making this
change backwards-compatible.
Deprecated current_app in TemplateResponse and render(_to_response).
Raised an error when allowed_include_roots is a string.

This avoids leaving projects silently vulnerable when this option is set
to a string instead of a one-item tuple containing that string, a very
common misconfiguration.