Removed:
- Removed some old code that was duplicated from long ago.
Removed:
- All instances of AMScan::retain/release.  Replaced with appropriate
```delete scan;``` and ```scan->deleteLater();``` calls.
Added:
- Added a Stopping state to AMScanController.  This is the same as skip
in AMAction3 but for scan controllers.  This has a default behaviour
that mimics cancel but calls setFinished() instead of setCancelled().
This behaviour hasn't been tested yet, but AMStepScanController will
probably re-implement it anyway.
- Propogated change to all necessary classes.

Altered:
- The name of config() inside AMScanController to configuration()
because we don't need to be lazy about things like that.