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
Add option to specify timeouts in the config file

I've added support for config properties tunnelTimeout, falling back to timeout. Just in case there will be separate timeouts for different components in future.
Tidy my changes
Merge pull request #1 from karlvr/master

Tunnel timeout support and kill process on failure