The add_model function now sends the 'propname' to the function by default.  Because they all use **kwargs this shouldn't affect anything, but does allow models to know a bit more about what they're calculating.
Changed the 'ideal_mixture' model to accept 'compositions' rather than 'mole_fractions' to be more general