Distinguishing more clearly between database IDs and dataview IDs.
Added a try/except block around the open web browser method,
so that any errors can be logged effectively.
Did some PEP-8 fixes on these source files relating to logging
and log submission, even though much of this functionality
(borrowed from the MASSIVE/CVL Launcher) is not used in MyData yet.
Ensuring that wx.CallAfter is only used when it is necessary.
Clicking web browser icon did nothing when selecting a folder
which wasn't yet associated with a dataset ID - now MyData will
fall back to opening the MyTardis base URL if it can't open the
dataset URL.  Also renamed a method and fixed some PEP-8 stuff.
Preparing for new RSYNC upload method, fixing some problems with
shutting down threads when the user cancels, ensuring that only
one upload thread runs at a time when using poster/urllib2, and
ensuring that initialization for each "Data-scan-and-upload"
run is not put in FoldersController's init, because there is only
one FoldersController instance per MyData session, but the
StartDataUploads method may be run multiple times within a single
MyData session, after first checking whether a previous data
upload run is already running.
Ensuring that ShutDownDataUploads can be called even before
StartDataUploads has been called for this first time, in
which case ShutDownDataUploads will do nothing.
Improved threading makes GUI more responsive during shut-down of
existing upload threads, scanning of data directories and
settings validation.
Renaming instrument could temporarily block GUI thread in
SettingsDialog's OnOK.  The first steps have been taken
to move the renaming into its own thread.
Minor tweaks to Settings validation.
PEP-8 fixes.
Refresh can now be run from any thread.
Added exception-handling for Cancel method.
Implemented new Cancel Remaining Uploads button on Uploads tab.