refactored code to allow user to specify the values of the predictive model parameters that are not optimized by PredictiveModelOptimizer
a few more refactors
merged with Ian's changes