start of building a mkpsf in pyraf
Merge branch 'master' into pyraf_mkpsf
Merge branch 'master' into pyraf_mkpsf
Added TOLERANCE as a parameter. Raise flag if TOLERANCE is exceeded
Created the PSF class and started coding the pyraf version of mkpsf.

The general approach I'm taking is to have the various parts needed to build the PSF (like the bright star list)
 be properties or objets that can build themselves from other objects.
 Once all the objects know how to build themselves asking for the PSF should trigger a chain that is currently our pipeline.

 This makes the pipeline into a dependency tree rather than a pipeline.  To make this work effectively we will need
 to have version setting on each component.
jmpprepimage no longer responsible for deciding to try alternative PSF building processes.

The mkpsf refactoring will remove all psf build from prepimage, eventually.
Made downloads less versbose.

We should refrain from putting 'info' logging messages inside libraries... I put these in here and next I'll make sure they are .debug.
Added some type checking.

assert statements are good for debugging.  This object now requires that the 'obs' attribute is really an Observation.
Added a new OSSOSComment class.

The comment from string method needed a pretty major overhaul.  The motivation for the changes was to add
some extra information to the comment lines that can be used by the TNOdb.  Specifically the astrometric
level (which is really the calibration level). Old style comments are appear to be handled correctly still.

I've not written the unit tests that we need to have
to make sure that future mods to OSSOSComment don't break what we have now.
Made the uncertainty estimate on a measurement an input variable.

The OSSOSComment field now has the correct Astrometric Precision set in the line, so we should use that when passing
into librobfit. The drop-back default for lines that don't specify a precision is 0.3'' which was the previous global default.

The global default value is set in the MPC class, not the liborbfit class and can be over-ridden when measurements are loaded.
Turned of writing logs to file by default,  having them on the screen is a bit easier to track.
Added a default value for MAXCOUNT, incase the header doesn't have one.

Having the photometry code crash because this header keyword is missing seemed unnecessarily restrictive.
Cleaned up error message reporting.  Tweaked the logic for determining if data should be 'flipped' on pull.
Major update with considerable error checking.

The basic script was a bit to simple.  Now we check lots of error conditions and warn the user if the changes they are implementing indicate a substantial change in the inputs.
Some basic plotting settings..   to help make our figures more consistent in appearance.
creates a nice summary plot based on an input MPC file.

This still needs some work.
creates a nice summary plot based on an input MPC file.

This still needs some work.
corrected import statement to reflect where modules are kept.
Corrected the placement of names in record when longer than 7 characters (again)

Some how this change keeps getting reverted or something?  I'm not sure. The format is supposed to be:

Name starts in column 6 unless its longer than 7 characters and then it starts in column 2.  column 1 is
always reserved for the 'null' flag.  The null_observation will return the null_character or a blank when not null.
Changed exit on error to warn on error.

The update_astrometry script should run to completion and only warn when things have gone bad.