Move template files to static directory
add go build binary to ignore
Remove some flags from the global scope

Flags that are only used from within the init function do not need
to be global variables.
Make template set into a type

This allows a template set to be defined independently instead of
relying on multiple global flags.
Move template functionality to a new package

A new, small package dedicated to the template usage patterns for
gobase makes the main package simpler.