NAME:
  astinfo
 PURPOSE:   (one line only)
  Decode (or add) astrometric information from a FITS header
 DESCRIPTION:
 CATEGORY:
  Astrometry
 CALLING SEQUENCE:
  astinfo,hdr,info,error
 INPUTS:
  hdr - FITS header to be read (or modified)
  info - Astrometric calibration information used by routines like
            astxy2rd.pro.
 OPTIONAL INPUT PARAMETERS:
  TOHEADER - Flag, if set, the information structure must exist and its
                information is appended to the input FITS header.
             If not set, the header is parsed for the astrometric information
                from which the info structure is built.  If the header does
                not have the astrometric information a scalar 0 will be
                returned.
 KEYWORD INPUT PARAMETERS:
  SILENT - Flag, if set will suppress output
 OUTPUTS:
  info - Normally an output, but is an input if TOHEADER is set.
  error - 1 if there is an error, 0 if everything is ok.
          When reading a header this usually means there was no astrometry
          information in the header.  When modifying a header it means
          there was something wrong and nothing was done.
 KEYWORD OUTPUT PARAMETERS:
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
  Written by Marc W. Buie, Southwest Research Institute, 2009/11/18
  2009/12/02, MWB, dropped support for different order of fit for xi and eta.
                     Now they are required to be the same.  Also dropped
                     support for old style of term selection.
  2010/03/21, MWB, added error output variable and make a fix that properly
                     handles writing a new solution to a header that already
                     has a solution with more terms than the new one.
  2016/06/02, MWB, added SILENT keyword