Squashed 'lib/' changes from 524e262..4ca3164

4ca3164 Fix typo

git-subtree-dir: lib
git-subtree-split: 4ca3164c9ea1810d4b5ec95a1552aae18c28040f
Merge commit '445b5812c31d0d5aa2d79619768da670f9867ced' into development
Add product template

By adding the product template, I also got the real "empty result" page to
work.
Add template for generic error page
Add remaining templates

Added and adjusted all other templates to make them work with the new
library. Basic functionality is working, but advanced features still have
to be thoroughly tested.