refactor(server): Push date handling into Model from PageView.
feature(server): Filters are run like pipes, one after the other.
refactor(server): Start the first tags reduce functions
refactor(db): Add Model.prototype.calculate.

* `calculate` creates a stream with the appropriate reduce functions. When complete, results are returned.
refactor(server): Move sort/limit functionality to hits-per-page reduce function.
refactor(server): Use Promise.all to do all db ops at the same time in GET-site-hostname.
fix(db): Fix start and end time queries.

* The start and end time were updating the incoming query specification, not the output query object.
fix(server): Fix the total hits if no tag is selected.