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.