Merge pull request #3 from RexOps/master

sync over master branch
Merge pull request #4 from RexOps/master

sync over master branch
Merge pull request #5 from RexOps/master

sync over master branch
Merge pull request #6 from RexOps/master

sync over master branch
Merge pull request #7 from RexOps/master

sync over master branch
Merge pull request #8 from RexOps/master

sync over master branch
Add path map -- enhanced lookup facility for files (used for e.g. templates).
Reverse sort order for highest precedence on longest match.
Restore shebang line.
Fix 'not a hash reference' errors when 'path_map' not set.
Remove debug statement.
perltidy
Restore shebang line.
Use File::Spec for filename composition.
Documentation for the 'path_map' feature.
Document the 'appended environment' functionality of template() and the interaction with 'path_map'.
Additional clarification of the prefix matching algorithm in 'path_map'.
Add documentation for run() function.