make Pager#each work more sensibly

I've changed Pager#each, and thereby all other Enumerable methods of Pager, to behave the way that #find_each used to behave - that being the way <i>every other enumerable in ruby behaves</i>. 

when I do, say, `plan.add_ons.each`, I want to iterate over each add-on. not the first 50 add-ons, or any other first _n_ add-ons. I cannot imagine where I would want 50 add-ons but not the 51st. thus the former, page-specific behavior of #each is relegate to #each_current_page. 

I was bitten by records not being returned from #each - i.e., #each not behaving in a sensible and predictable manner, and hope to save others from this. 

this incidentally includes a fix for #find_each being broken and not yielding the same records each time it is called. as I do not know if this will prove too API-breaking, I will make a separate pull request for only that fix, but I am hoping the whole thing will be merged.