Decorate as a static methid, the internal _list_variables() method of
BasicDiagnosticGroup.  This helps maintain backwards compatibility while
adding a _list_variables() method to uninstantiated plot_spec classes.
- Change the name of the class plot_set to plot_spec, which more closely
  describes what it is.
- Add a class variable package to plot_spec, to support the addition
  of a static list_variables method to its children.
- Print an error message if a uvc_plotspec is created without a valid
  presentation string.
- Add a method write_plot_data to uvc_plotspec.  This code is experimental;
  I may later decide on an entirely different approach.
- Get the variable list from the plot set class rather than from the
  package (group) object - a better (more precise) practice now that
  it works.
- Print the plot data, to a NetCDF file.  The file names are still
  poorly chosen.
- I left in a lot of debugging code.
- Do more units conversions before subtracting model-obs data.  Two
  of the subtraction functions now do it through a new function
  reconcile_units.
- In another seasonal average, check for whether seasons.climatology()
  had returned None.
- Remove a bit of debugging code.
Delete an untrue comment (I had planned one implementation of verticalize(),
then realized that there is a better way.)
- change class name amwg_plot_set to amwg_plot_spec, which better describes
  what it does
- Add a _list_variables() static method to all the *plot_set or *plot_spec
  classes.  This gets called before they are instantiated.  It does something
  important for plot_set2.  Otherwise, it jumps back to the package (aka group)
  method of the same name.  There is a new class variable 'package' to support
  this behavior.
- In class AMWG, split list_variables into internal and external functions,
  the internal one static, in order to support the above.