Add and use get_extra_template_dirs() method

This can be used as a hook by subclasses to extend the search path. By
default, it uses the content of the SCAFFOLDER_TEMPLATE_PATH environment
variable to extend it.
Add documentation for get_extra_template_dirs() and SCAFFOLDER_TEMPLATE_PATH