Paginador de problemas

La lista de problemas es cada vez más grande y un paginador es
necesario. Implemente un paginador sencillo y una mini barra de búsqueda 
(en realidad de momento solo acepta criterios de ordenación) para que sea
más fácil explorar la lista de problemas.

Hasta ahora la tabla de problemas se llenaba y se ordenaba usando
Javascript, fue necesario mover algunas cosas al servidor para lograr la
funcionalidad, por ejemplo, se modifico el servicio /problem/list para
que realice paginación y ordenación, ambas opcionales para que no afecte
la funcionalidad anterior.

De momento solo esta disponible en 'problemas' y no en 'mis problemas'
ya que ahí las cosas son un poco diferentes y supongo que las listas ahí
aun no son tan grandes.
ya lo pensé bien y sí es mejor separarlo en esas tres consultas que dices porque no hay una manera bonita de hacer los joins para verificar si es super-admin fila-por-fila.

la única consulta que habría que cambiar sustancialmente es la de usuarios loggueados: hay que hacer un left join con User_Roles usando `ON user_id = $current_user_id AND contest_id = problem_id` (regaña a @joemmanuel por ese hack) para evitar los UNION malignos y que nada más con un `WHERE (public = 1 OR author_id = $current_user_id OR role_id = 3)` poder determinar si tiene permisos de ver el problema.