no singletons: have the sinatra call be aware of its template rendering scope

This moves the template helper api to the server DSL.  You now add
and query template helper modules using your server class.  The main
benefit here is that it is a) associated with your server and not
a global singleton render scope and b) it is a simpler implementation.

The server config just tracks a list of helper modules and at app
create time, creates a scope, mixes in the helper modules, and sets
it in the app settings.  Then when a template is rendered, it looks
up its scope from the sinatra call's settings.  There is no global
render scope - each app has its own template rendering scope. However,
the scope is only built once, at app creation time, like the previous
implementation.

@jcredding ready for review.