Fixed ParameterisedHolder parameterChanged() crashes.

These occurred if the parameterChanged() method left a parameter with an invalid value and then raised an exception. ~ParameterModificationContext would then raise another exception during exception handling and boom. See comments in ParameterisedHolder.cpp for more details.