Use more secure error for invalid pagination ranges

* Disallow limit and offset clauses too large for MySQL.
* Make better use of the Offset method rather than allowing it to be touched directly elsewhere.
404 is for content that was searched for, but not located.