To Do list for step scanning:

  - save/load configuration of scan parameters.   This could use an INI
     file, or an SQLite database.  Prefer both.

  - Area Detectors should always save ArrayCounter (I think it does).  It
    would be nice to check which, if any, filesaving plugins are enabled.

  - XAFS Scan setup routine, with save/load

  - Allow limiting ROIs from MCA detector(s) by name, so that 'save all' is
    the default, but not the only option.  Tricky part:  do you allow
    'match the name "K"'? (careful to match "potassium" and not all "Ka"!)
    or some other mechanism. Perhaps safest to require exact name or index 
    matches with an 'exclude_rois=()' option, and let the GUI help do this.

  - ASCII File writing works, but may need options (comment char, etc)

  - Should be an option for 'file per scan, with auto-increment' or
     'one long, spec-like file'.   How are mesh scans recorded with Spec?

  - Writing a proper Spec file?

  - Handling waveform data?  Should probably write a companion file
    (netcdf? xdr?) with all data, and let only int/float scalars go to the
    ASCII file. 

  - Data Viewing Program that can parse scan files (ASCII or HDF5)

  - Scan Setup / Execute GUI.  This should have form options for defining:
       -- simple 1d  scans (spec ascan)
       -- multi-positioner 1d scans
       -- XAFS scans
       -- 2-D mesh / map scans
       -- simple 'filename', 'comments', 'start', 'abort', 'pause',  'resume'.

       -- Use Sqlite db for saving configs (what positioners/detectors
            are available) and individual scan definitions.

       -- Macro window with do_scan(saved_definition)/ascan/etc.

       -- Plotting of live scan, pull-downs for what to plot

       -- Plotting simple peak analysis, derivative analysis,
            move to position , etc.


