Bug 1046891 - Add dependency management to Runner

Tracking PR so I can get feedback, do not merge.

Tests en route.

@catlee r?
you can probably just leave this as a set, no need to convert to a list