Get binary file reading and clean up scheduler.

Figured out a nice way to move most of the IO and task code out
of Scheduler.h/.cpp and into ObjectIO.