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
Merge pull request #967 from aledsage/fix/Overriding-SoftwareProcess.stop

Support overriding SoftwareProcessImpl.stop