Separate sorting and pagination in User and page → at_page

First, it turns out that defining User.page does not work well with
scopes, meaning that User.page is totally ignored and not called when
after a scope, like this: User.students.page(...). This is breaking our
ordering as well as our custom per_page parameter. This seems to be
caused by the name of the method "page" being defined in the relation
probably by will_paginate and thus the AR relation does not delegate
back to User.page. I see two possible ways to fix this:

1. Redefine ActiveRelation#page method with our version as well as keep
   User.page.
2. Just use a different name for User.page (I came up with User.at_page)
   so that AR will not have this method defined and will delegate back
   to our User model.

I chose the second way to solve this issue.

Second, I think it's a good idea to have separate sorting and pagination
concerns since the old User.page method did not indicate in any way that
it also performs sorting under the hood.
Fix a typo in the name of the spec
Add a missing spec for TeamsController
Merge pull request #113 from skanev/fix-users-sorting-and-pagination

Fix users sorting and pagination