Implements ticket #20811, adjustment to Makemessages

To ensure compatibility with alternative templating languages,
makemessages has been altered to try to use template loaders first on
each file, giving them a chance to preprocess the file.  To this end a
new function get_template_source has been added to
django.template.loader that returns the uncompiled source of a template.

The i18n test suite has been expanded to include a test for his new
behaviour.