Multiple template engines

This PR contains the bulk of the multiple template engines project.

It's still missing tests for the new code in django.template.loaders.
Might this be a good place for a longer docstring explaining which modules are part of the multiple-template-engines system, and which are part of the DTL? The fact that these two are mixed up together in `django.template` remains one of my larger concerns with this PR. I don't see a better solution, but it seems likely to result in future bad patches due to a developer misunderstanding whether they are dealing with a generic API or a DTL API, so anything we can do to clarify would probably be good.