Use your first suggestion. The one with offsets. It's the "standard" way of doing pagination.
Putting the whole result set into session would be a bad idea, since every user would have his own private copy of the data. If you hit performance problems you can always add caching (memcache) which will benefit all users accessing the data.
A. First one, of course. There are other methods, like for the every thing in the Earth, but like for the every thing on the Earth one have to use most usual and generic way first, just because they have to get familiar with it and because it will suit you for sure, as it suits other webmasters.
Also note that your other proposed methods are not among sensible ones.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.