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.
In fact this method was originally implemented as a property in the base Engine class :-)

Later I moved it to the dummy backend and refactored it because it was only used there and I wanted to keep Engine as minimal as possible.

If I change the implementation of the Jinja2 backend, I'll move it back.