Make initialize methods in `Runner` non-mutating.

Nobody should be calling these anyway, but if they do they no longer
alter the object.

Runners are now frozen, along with their `#dispatchers` hash.