rework Mineral.set_method

Now the method is always set to something (at least None) and the
warning to check for a change in method now works with method objects.
make EOS a new style class
fix examples and tests