Few refactorings - no new functionality

 * Using a type for pagination (instead of Maybe Either)
 * Wrap HTTP request call in ErrorT - better error messages for
   different HTTP error conditions.
 * General linter fixes and comments.