Fixed both the left treeview and the top frame title
Added:
- AMGenericScanEditor::onScanDetailsChanged ~ A slot which responds to
changes in any added scans details by calling:
AMGenericScanEditor::refreshWindowTitle()
Altered:
- AMGenericScanEditor::refreshWindowTitle() ~ Added a line to set
ui_.topFrameTitle's text
- Connected added scans AMScan::nameChanged() and
AMScan::numberChanged() signals to the onScanDetailsChanged signal
- Changed AMScan::storeToDb() so now sets the number by calling the
setter instead of directly referencing the instance variable (ensuring
number changed signal is emitted)
Altered:
- SGMBeamline::undulatorForcedOpen_ ~ An AMReadOnlyPVControl connected
to the PV UND1411-01:openID (0 = normal, 1 = forced open)
- Altered SGMBeamline::validateAction to return ActionNotCurrentlyValid
if the undulator is forced open and the passed action is a fast scan
- Altered SGMBeamline::validateActionMessage to return an explination
that fast scans can't be run if the undulator is forced open
Altered:
- SGMBeamline::validateAction and validateActionMessage to use
qFuzzyIsNull rather than qFuzzyCompare
- SGMFastScanActionController::startImplementation() ~ Added check to
see if undulator is forced open, in which case we set the fast scan to
failed.

When #577 is merged back into master, add validateActionMessage to
setFailed() as its optional failure message.
Altered:
SGMFastScanActionController::startImplementation() ~ Changed so that if
Undulator is forced open, then returns false.
Merge branch 'Issue647'
Merge branch 'Issue626'