break out the null logger into its own file; update requires

This moves the null logger definition to its own file and updates
references to specifically require this in.  This is more about
cleanup and consistency - no behavior changes.

This is also setup for future logging changes.  There will most likely
be a logger that encapsulates the verbose/summary logging logic
currently living in the logging middleware.  Who knows, the middleware
may dissappear in the future.

Anyway, this is cleanup and prep for those possible future changes.
Merge pull request #142 from redding/kr-logger

break out the null logger into its own file; update requires
pass logger to tempalate source on init; set as engine default opt

This allows engines to have access to any configured logger and make
use of it.  Right now it is passed in as a render local but we are
moving away from this with the new template engines render system.

The downsides to passing in as a local are it imposes this local
on the engine.  The engine may not need/want to give the templates
accss to the logger or they may want to expose it with a custom
local name or by some other means besides a local.  This gives the
engine the flexibility to choose how it handles the logger.
Merge pull request #143 from redding/kr-temp-source-logger

pass logger to tempalate source on init; set as engine default opt
add capture render/partial methods to the template source/engine API

This adds capture methods to the template system API.  These methods
allow passing a content block to render calls.  They work like their
non-capture counterparts in terms of handling layouts.

These are intended for engines that allow content capturing when
rendering.  They are optional and should only be implemented where
appropriate.  They will not be exposed to the view handler or runner
and will only be called from template scopes.

Their main utility is for implementing template helper methods that
need to capture content.  A plugin can configure its source and then
provide helper methods that call these on its source.

This also cleans up how templates are referenced in these methods.
Everything now consistently refers to the template using the
`template_name` local var.
Merge pull request #144 from redding/kr-template-capture

add capture render/partial methods to the template source/engine API
wip