Added middleware for paging queries

This commit adds ring middleware that is used to parse and
validate query parameters relating to the new paging
support for our query APIs.
WIP: add general docs for paging TODO
Remove clojureql references

* The `node` query namespace had a reference to clojureql even
  though it wasn't actually using it; removed.

* The `facts` query namespace had a few functions that were
  implemented using clojureql.  These implementations were
  going to make it harder to implement paging support for
  this endpoint, and the raw SQL implementations are not really
  any more complex; this commit refactors the namespace to
  remove the clojureql references and replace them with raw SQL.
Add basic paging support to `fact_names` endpoint
Add paging support to facts endpoint
Refactor test resource data generation into utils namespace

This commit simply moves a bunch of hard-coded logic for generating
test data for resources out of the test namespace and into a
utility namespace, where it can be used for additional tests.
Add paging support to resource query endpoint
Add paging support to `nodes` endpoint
Add paging support to events endpoint
Add paged query support to reports endpoint