Re #7950. Switch to PyQt v2 API for QString & QVariant.

This is necessary for the IPython script interpreter plan because they
use that API there.
Re #7950. Minimal changes for a interface to start & stop.

These changes allow the Powder Diffraction Interface to be
started and closed without complaint. Hope I mapped all the types
correctly.
Re #7950. Remove last explicit mention of QVariant.

And changed method calls on _recent_files from QStringList ones to
python list ones (as that's its type now - QStringLists have gone on
the python side).
Re #7950. DGS Reduction GUI now starts up successfully.

Note on the changes in util.py: the old QString.toDouble/Int methods
returned a tuple with the 2nd value being a boolean indicating success.
The python conversion operators throw a ValueError for invalid input.
The QString method behaviour was to set the returned value to zero on
failure - I've retained that behaviour.
Re #7950. Changes so that EQSANS interface will start.
Re #7950. Changes to allow HFIR interfaces to start up.
Re #7950. Fix other uses of QString in SANS gui code.

These are the ones that aren't hit by default on start-up of the GUI.
Re #7950. Last remaining explicit creations of QStrings.

In the scripts/Interface tree at least.
Re #7950. Fix uses of QString.isEmpty().

…on objects that are no longer QStrings, but python strings.
Re #7950. Fix usage of QString method.
Merge branch 'feature/7950_pyqt_v2_api_for_qstring_qvariant' into develop