Implemented a function for returning nicer name representations

A user who has to choose a template may not always know, or care, what the template path representation is relative to a given template loader. This patch allows for generating a "human-friendly" name for each *filename* in a template list, optionally providing a dictionary from which to take the names - either on a per-use case, or via a project wide setting - allowing the user to be presented with names which might be more appropriate or meaningful [eg: app/includes/news_2_columns.html may be better represented as "Recent news, two columns"]

See the readme changes for usage examples, and the tests for ... tests.