Upgrade express-hbs, and switch to using registerPartial

fixes #1964, fixes #1975

 - Issues with partial handling which caused #1964  have been part fixed by handlebars, part worked around by express-hbs, we must use `registerPartials` to ensure partials are handled correctly.
 - Issue with error handling which caused #1975 has also been fixed in express-hbs, which now catches the error from handlebars and passes it to express so that we can handle the error with an error page.
Merge pull request #2017 from ErisDS/issue-1975

Upgrade express-hbs, and switch to using registerPartial