Additional check in set_method to avoid user-defined minerals needing to call Mineral.__init__

Not sure what the best way to do this is, but Mark Panning (as well as myself) ran into issues where, with a user-defined mineral, everything fails if __init__ is not called.  This breaks backwards compatibility for a fairly silly reason.  

What you you think of this?  It still requires a set_method() call if __init__ is not called, but at least it does not crash.