tweaked the error class to have its message tweaked by models and provided models and interface for doing so.
changed cost access keyword becuase its not const
fixed mst typo
added documentation requests
added missing return
added error message mutators. Added model class err msg autmenter