Require experimental parameters to be specified in experiment class
This is a breaking change for consumers of the library using the SimpleNamespace class.
All Experiment classes now require consumers to define ahead of time the list of parameters that the assignment procedure may assign. Previously, this was done via runtime analysis of the assign function but assumed that the experiment parameters were all strings. If this is OK, consumers can just override this function by returning this.getDefaultParamNames()