Support multiple paths.

This change adds support for multiple template, layout, partials, and helpers paths (based on hapijs/hapi#1753). Paths are searched in order. Templates and layouts use the first match found while partials and helpers defer to the engine implementation (the register methods are called in the order the paths are searched).

Closes #9.