Update how Handlebars and shared templates are served to the client-side

This only requires Handlebars to be an npm dependency and not also a Bower dependency. The middleware to expose templates to the client has been moved to being an infrastructure piece of the site so other routes can exposed templates if needed.

The shared templates are now exposed via express-state, allowing them to be revived lazily since they are just precompiled template strings sitting in memory on the client. And the Handlebars runtime is now also accessible as a YUI module `"handlebars-runtime"`, which allows us to use the same version Handlebars and not the one YUI come packaged with.