pagination: applied the fluid interface pattern.

Functions removed:
 * initialize()

Functions created:
 * set_total_items(): the minimal input of the library
 * button_label(): text for the first/last/next/previous
 * range(): how many visible pages around the current one
 * per_page(): how many items per page

Functions modified:
 * constructor: added reference to the request class, setting the
   base url & cursor in construction of the class.
pagination: checking if total_items is set before creating the links
pagination: fixed documentation style
pagination: add doc for constructor argument
pagination: fixed doc style
pagination: added correct documentation
pagination: put default values to total items & total pages
pagination: fixed documentation typo
pagination: renamed functions so that they express their action
pagination: corrected documentation
pagination: prepended 'lunr_' prefix to css classes
pagination: added function for setting the base url
pagination: fixed documentation indentation
pagination: fixed wrong function call
pagination: fixed code style
pagination: defined a constant for max pages to compare the cursor against
pagination: construct the base url from the elements of the request class

$this->base_url is constructed by concatenating:
* $request->base_url
* $request->controller
* $request->method
with '/' as the delimiter.
Next step to construct the full base url is to implode the
$request->params array and use the last parameter as the current
page cursor (if it falls in the requirements).
pagination: add imploded params & cursor to the base url.

TODO: handle case where params is empty
pagination: groupped the cursor extraction & parameter implosion

furthermore, removed the cursor from the base url,because it led to
a wrong url resolve for the next & prev page urls
pagination: removed the MAX_PAGES constant & the corresponding control