Drop runner API from visor.Runner

Reduce scope of visor.Runner to registration, discovery, and unregistration. This moves the runner's API outside of visor.

This also changes Restarted to accept a complete `InsRestarts{}` object, instead of deltas for each restart type.