allow parameters for restart effector, including children and the machine for SoftwareProcess.restart;

if this model is sensible i'd like to apply it more widely to effectors, to allow parameters to tune behaviour.
(eg for stop, to allow controlling whether it is the machine or just the process which is stopped,
and on start, to allow forcing reinstall)
Have to agree with @sjcorbett on this one. Seems like this is adding a lot of SLOC just to check and warn about one condition.

It looks like it should be possible to refactor `StopEffectorBody` and `RestartEffectorBody` into a general-purpose `WarnIfParametersGivenEffectorWrapper`? It seems that these are trying to wrap another effector body, so it would be informative to put `Wrapper` into the class name somewhere. I can then see a static class `EffectorWrapper` or `EffectorBodies` that holds a useful library of effector bodies, along the line of `Predicates` or `Functions`.