Rename hasNext to hasNextPage and hasPrevious to hasPreviousPage

I noticed a disparity between `getNextPage` and `hasNext` functions. I hope that with this fix, they will look a little more symmetrical.

Still TODO (I will need some help with these):
- [x] make sure the tests pass (I couldn't find anything in the README on how to run the tests)
- [x] delegate `has*` to `has*Page`
- [x] emit deprecation warnings on `has*`