Make CancellableProgressDialog more general

Change some dialog text so it doesn't have "searching", in case we want to use it for something else
Handle failure to reach genome server more gracefully

Disable menu entries and buttons which won't work if the server is inaccessible. Display a spinner when pulling up GenomeSelectionDialog if we're still loading genomes.

There was a race condition where sometimes the genome list wouldn't get populated (the list would just be blank), this was due to updating UI elements on the wrong thread. Those elements are now updated on the UI thread, should perform properly.