Adding core.product that has all product wide constants (instead of
being contained inside of matmodlab.py) - this was to avoid some
cyclic imports.

Update to material model interface.

o Previously, param names were class attributes and not instance attribues
of material subclasses - but they should be instance attributes.
o Other changes to the model interface - mostly transparent.  All
materials (built in, abaqus, etc.) are treated equally.
o matmodlab now only looks for a file named product.py to find plugins
of any kind.  For materials, it looks for a material_libraries method
that returns a dictionary of material models.  For fortran modules it
looks for a fortran_libraries method.