var_name (string) - the variable name that the paginate decorator will try to
control. This key must be present in the dictionary returned from
your controller in order for the paginate decorator to be able to
handle it.

default_order (string or a list of strings. Any string starting with
"-" (minus sign) indicates a reverse order for that
field/column.) - The column name(s) that will be used to order pagination results.
Due to the way pagination is implemented specifying a
default_order will override any result ordering performed in the
controller.

limit (integer) - The hard-coded limit that the paginate decorator will impose on
the number of "var_name" to display at the same time.
This value can be overridden by the use of the dynamic_limit
keyword argument.

max_limit (int) - The maximum number to which the imposed limit can be increased
using the "var_name"_tgp_limit keyword argument in the
URL. If this is set to 0, no dynamic change at all will be
allowed; if it is set to None, any change will be allowed.

max_pages (integer) - Used to generate the tg.paginate.pages variable. If the page
count is larger than max_pages, tg.paginate.pages will only
contain the page numbers surrounding the current page at a
distance of max_pages/2. A zero value means that all pages will
be shown, no matter how much.

max_sort (integer) - The maximum number of records that will be sorted in memory if
the data cannot be sorted using SQL. If set to 0, sorting in
memory will never be performed; if set to None, no limit will be
imposed.

dynamic_limit (string) - If specified, this parameter must be the name of a key present in
the dictionary returned by your decorated controller. The value
found for this key will be used as the limit for our pagination
and will override the other settings, the hard-coded one declared
in the decorator itself AND the URL parameter one. This enables
the programmer to store a limit settings inside the application
preferences and then let the user manage it.