Add specs for and cleanup Runner

WIP. Do not merge yet because it's incomplete and API backward incompatible. Will require changes to Treadmill.