Process provider templates for included files

Currently a provider template in the environment or template will not be processed
for other provider templates or calls to get_file.

This change calls get_template_contents from within get_file_contents if the
get_file_contents call is flagged as being for loading a template. This results in
recursive calls to get_file_contents for any combination of provider paths or get_file
calls.

This means many of the template_utils tests need to return valid template content
instead of less meaningful stubs when resolving resource provider paths.

Change-Id: I887b1238d7f7cd67719d54cbc702bbc982552db8
Closes-Bug: #1296950