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.
I agree with your analysis. Honestly I had forgotten about `AppConfig.path`.

The nice part of this implementation is that `PackageLoader` is able to load templates from eggs. Some people like eggs (for reasons I can't fathom). It may be able to load them from namespace packages as well — I didn't verify this.

Overall I find `PackageLoader` more pythonic and consistent than our rather half-assed `AppConfig.path`. I'm not quite sure it was a good idea to make promises about how Django would handle `AppConfig.path`.

I need to think about this.