Move template rendering to use Tilt

All engines supported by Tilt are now rendered by the Tilt Template.
The Engines supported by Awestruct but not Tilt has been rewritten to
use the Tilt Template interface (except cli based ones).

Add support for default-site.yml, loaded as default values for a site.

Adding special options to Tilt backing Engines can be done by either:
 * defining options based on file extension under site
    e.g. site.haml.value: aa
 * definind options based on engine name
    e.g. Tilt::RedClothTemplate, site.redcloth.value: aa

Moved xx_handler_spec.rb over to use a common shared base handler.

content_syntax mapping for file extensions where input_extesion !=
content_syntax can be found in default-site.yml. input_extension
will be looked up in site['content_syntax'][input_extension].
The found value will be used as a symbol if found, else input_extesion
as a symbol will be used.