Changes to the remote job submission code

Added code to automatically pick a name for the remote job's output file
and pass that as a parameter to the job submission URL.  This is needed
to allow the user to download the results after the remote job has run.

Refs #4884
Added ability to download output files from cluster

'Download' buttons in the Job Status dialog will now actually attempt to
download the output file and open it in a new workspace.  Also added
code to verify that there actually is an output file available before
adding the download button.

Refs #4884
Only show jobs submitted from MantidPlot in the job status dialog

Uses the 'variables' entry in the submitted JSON to set an entry called
"SUBMITTING_APP" when the job is submitted.  The jobStatusAll() function
checks for this entry and only includes jobs that have it set in its
result list.

Refs #4884
Disable previous change to job status dialog

Commit 4af5da7d6f3b6da5b94c3d0a3f0831ee03c58c21 changed the job status
dialog box to only show jobs that were actually submitted from
MantidPlot.  Unfortunately, there's a bug in Moab Web Services (support
case #15864) that renders this useless.  Once the folks at Adaptive
Computing fix their bug, I'll uncomment one line of code to re-enable
this feature.

Refs #4884
Several changes to job status dialog (and job submission in general)

1) HTTPS is now enabled and enforced.  No unencrypted connections are
allowed.  (Note: We're accepting the certificate from the server as-is
with no validation.  That's not really correct, but it's the best we can
do for now.)
2) Jobs in the job status dialog are now sorted by their ID's
3) Had to disable the use of QTemporaryFile objects for downloading the
output files because the Load algorithm runs in a separate thread and
the object was cleaning up its file before the algorithm had a chance
to run.

Refs #4884
Preliminary support for Combo Boxes in the job submission dialog

NOTE:  NOT FULLY TESTED YET!
Refs #4884
Better error messages if there's a problem parsing the XML config file

Refs #4884
Jub submission GUI now supports checkboxes for boolean values

Refs #4884
Enable session cookies in MWSRemoteJobManager

Refs #4884
Starting to make GUI changes for the new job submission design

Refs #4884
More minor GUI changes plus changing a class name

Refs #4884
Changed the name of 2 files to match the new class name

Refs #4884
Make the remote cluster list a singleton object

This is in preparation for the new design for remote job submission.
In the new design, individual algorithms will need a way to access the
cluster list, so it can't be stored as part of the dock widget.

Refs #4884
Starting to add functions necessary for the new design of the...

...remote job submission code.  Specifically, adding functions for
starting & stopping transactions.

Refs #4884
Comment & whitespace cleanups only - no code changes

Refs #4884
Changing the RemoteJobManager infrastructure

Instances of RemoteJobManager are created from XML elements in
Facilities.xml (rather than being entered by the user and stored in the
user's properties file).

Refs #4884
Add Fermi cluster to Facilities.xml

Adding a description of the Fermi cluster to Facilities.xml

Refs #4884
Fix typo in a comment

refs #4884