Support overriding SoftwareProcessImpl.stop

- With the new task refactoring, the start/stop/restart effector
  constant also supplied the implementation, so the SoftwareProcessImpl's
  method wasn't invoked!
  Therefore overriding the method had no effect.
- Changes that, so one can override `doStop()` etc
- Makes start/stop/restart methods final