more cleanup of compiler artifacts / loss of information
fix JSON syntax error sending error messages to clients
Major change: We now always save options at the level of the
dimension, with the overworld corresponding to DIM0 (rather than the
save). The only exception are visible options displayed in the GUI: those
are per-save. This matches the expectation of the user: GUI
configuration happens once for each world/save, while config files can
specify per-dimension defaults that should be honored, at least when
the options are invisible. Closes #4.