If the tunnel java process reports an error, kill the process before exiting

Currently it is left dangling, which causes the next attempt to fail as the JAR checks that there isn't another instance running.

This can be reproduced by setting the timeout very low.
Add custom timeout capability to the tunnel

The default timeout is too short for me, so I've added it as an option with the default set to the previous value of 5 seconds