text: Title: Process: Kill started process if test or keyword timeout is exceeded
  Body: If Robot's test or keyword timeout occurs when executing `Run Process` or `Wait For Process` keywords, the _keyword_ is stopped but the started _process_ is left running. It would be better to change this so that the process is killed. In some cases killing a process that would have gracefully ended on its own can cause problems, but I believe the risks or leaving processes running are bigger. There's also a limitation that if a process has been started with `Start Process`, it is not killed if a timeout occurs when running some other keyword than `Wait For Process`.
  
  Implementing this seems to be surprisingly easy. What it basically requires is catching `robot.errors.TimeoutError` exception, handling cleanup, and re-raising the exception. Also other libraries could benefit from this kind of timeout handling and the process should be documented. That is, however, a topic for a separate issue.
  
  This issue was discovered when fixing a bug in timeouts not stopping Process library keywords on Windows (#5345). Keywords can now be stopped regardless the operating system, but it was discovered that we could also stop processes.