Bugfix for best.evaluate()
Refactoring options::parse; much cleaner without constructor

Using Options.validate() for asserts instead of ctor. Making struct
variables non-const, but returning const copy of options after setting
all options.
Adding logs_dir and plots_dir options