Support for multiple template repositories

A working first stab at support for multiple template repositories. Main aim is to allow for internal company repositories so that company specific templates needn't pollute the public repository.
oh, we may also want to load all of these in parallel, which is easy enough once we split the method out.