Core: remove SessionModel.

This has been replaced by the SessionDAO and is non-functional now.
core: Split out error enum handling into sharable trait.
dataaccess: Fix wrong keyword for initial on-clause.

When specifying an initial on-clause it would detect the storage
variable being non-empty, because it contains the JOIN clause
and use an AND instead of the ON keyword.
Add additional checks to support this case properly.
surface: Rename Lunr\Web => Lunr\Surface
surface: Comment and documentation fixes for the pagination class.