Unroll TEMPLATE_LOADERS into one list to support other cached.Loader-like loaders

An unfortunate side-effect of how the template loaders were handled previously meant that only `django.template.loaders.cached.Loader` was supported as a wrapper of other template loaders. I discovered this trying to get [a package I knocked up](https://github.com/kezabelle/django-moreloaders) to play nicely.

Now, instead of looking specifically for `django.template.loaders.cached.Loader` and then shifting the list to get the list of `TEMPLATE_LOADERS` to work with, the work is done in `flatten_template_loaders`, which can take any set of `TEMPLATE_LOADERS` and turn them into one contiguous list, which can be iterated over once, dropping the loaders that `find_all_templates` doesn't know how to process.