modernizes & DRYs session/job ranges

look this over, make sure you agree it matches your intentions.
I know some of the changes in this PR aren't exactly things you propose to change in your PR, they are just things I couldn't ignore and are part of a larger cleanup for core.rb.  I tried to minimize these however.