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.
If "this method is optional" should this error be phrased more like the last one? As in, "this template engine does not support rendering a template from string"?