configure template source on the server; pipe down to the runner

This adds a `template_source` config to the server and the necessary
piping to get that configured source to the runner.  This includes
setting it on the sinatra app and passing it in the route run method.

This only adds the config API and plumbing right now.  Nothing uses
this value (yet) so it doesn't need to be configured (yet).  This is
part of building out the template rendering system and moving away
from relying on sinatra/tilt for rendering.

@jcredding a config and a bunch of piping.  Sucks that I still have to pass these custom settings through the sinatra app but I'm not ready to redo that logic just yet.  Ready for review.