Reimplement preloads again

* This version is a bit simpler.
* Changed the test so it doesn't alter global scope.
* Made sure that << doesn't mutate the superclass' preloads.
* We don't need to worry about what happens when
  Spring::Commands::Command.preloads is modified - people can add code
  in any number of places (e.g. application.rb) if they want it to run
  globally