Custom template files for custom tags

In a similar fashion to being able to have a custom template files for page's depending on the page slug I have a similar use case for custom templates depending on the tag used. 

This will open even more doors to the power of tags for organising and displaying content.

Tried to follow the code style/structure which exists already, first contribution though so let me know if I've missed anything! :)
Looks like the indentation here is using tabs instead of spaces. Please could you switch to using 4 spaces? Thanks