treat a provided page of nil as if not provided

so paginate(page: nil) is the same as paginate() (which is the same as
paginate(page: <first page value>)).

this makes nil a special value, unusable as a page value. I think that's
reasonable, and this behavior lets clients do stuff like paginate(page:
params[:page]) without needing to worry themselves over whether
params[:page] is nil or not.

note that {page: false} is still a usable page value.

Change-Id: Ie4afed914501c97aaef87a55f2279f3a16fc262e