Add HTTP connect timeout (default 15s)
Change Thread/SwingWorker usage so we don't leave background resources behind