"es" format not supported for Py_BuildValue type formats
Fix broken toplist browser handling.
Pass proper booleans to callbacks.

This code simply uses 'value ? Py_True : Py_False' as the "O" used with
PyObject_CallFunction will increase the refcount for us, before adding the
arguments to an internal *args (that steals the ref) and the call the
callable with the *args and decref args. Reseting the count that what it
was before our call.
Switch to letting PyObject_CallFunction cleanup refs.

Basically, for *self and other newly created objects with ob_refcnt = 1, that
we don't need any more our selves we now use "N". This passes the object in
_without_ touching the ref count.

1. self or other arguments created with ob_refcnt = 1
2. Passed in to PyObject_CallFunction call with N, ob_refcnt untouched
3. Assigned to *args internally in PyObject_CallFunction, ref stolen by tuple.
4. Called on function, which might keep the object and a new reference to it.
5. Call completes, args tuple gets derefed decreasing the count for all items
   in the tuple, resulting in self->ob_refcnt going to zero (assuming step four
   didn't acquire an extra ref).