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.
Additionally, perhaps since this method is two different methods anyway, the method should just be split into two different methods.  Is the remoteRepo option ever passed in?  If not, I'd just cut that out of the method, as the other private method handles that case.