Fix bug in output of step status.
Make setting verbosity virtual, so subclasses can deal with
 additional settings.
Add mechanism for supporting limits in parameter generation.

* New method areParamsValid for affineEnsemble that tests whether
  a set of parameters are valid.  This defaults to returning true,
  but can be overloaded so that particular problems can have limits
  of various sorts.
* Move step generation out of affineChainSet and into affineEnsemble,
  which is cleaner.
* areParamsValid is used during the stretch move to reject bad steps
  during step generation.  This should be better than just returning
  bad likelihood values.
* affineChainSet::getLastStep now is able to search into previous chunks,
  in case some empty ones have been added on the end.