Bug 1046891 - Add dependency management to Runner

Tracking PR so I can get feedback, do not merge.

Tests en route.

@catlee r?
docstrings here and below please