Fix faulty URL query string in base Page model

The `url` method assumed the paginator did not already have a query
string on the URL. A utility has been implemented that takes a URL and
adds or replaces query string params given a variable list of arguments.

Fix #212