[WIP] Some preloader refactoring

I'm refactoring our preloader changes to get the code to be more similar to the Rails preloader.  This should help us to port our preloader changes to 4.2 and eventually upstream.
This will officially kill 1.9 support.  @jrafanie If we are ok with that, then we should enforce a minumum Ruby version somewhere (maybe in the Gemfile just blow up if `RUBY_VERSION < "2.0"` detected).