Prevent Jenkins hang with unresponsive web servers

Existing code can stall the build if it encounters an unresponsive web server (one that allows a connection, but stalls rather than producing a response). We've had to restart Jenkins to clear the stalled builds.

This proposed change does a couple of things to prevent this problem:
* Add a read timeout to the URL connection
* Run the URL check in a separate thread, with a timeout when getting the response