add `partial` method to template source/engine API

This method will be used to help tell the engine whether to consider
layouts or not.  `render` means "consider any specified layouts the
view handler has when rendering".  `partial` means "explicitly ignore
any layouts the handler has and don't render with any layouts".

This is an effort to simplify the render calls.  Right now the runner
(`SinatraRunner`) has to do a fair bit of logic to consider layouts
and any specified layout option given on render calls.  This is
unfortunate b/c not all templates even support layouts.

This shifts the implementation and logic overhead down to the engines.
Engines now should implement both a render and partial method.  For
engines that don't render in layouts, the partial method should just
alias the render method and can be used interchangeably.  Any engines
supporting layouts will gather the layouts from the view handler
like the runner currently does.
Merge pull request #140 from redding/kr-template-engine-partial

add `partial` method to template source/engine API
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.