Due to the unorthodox values for role, race, gender, and alignment,
specifying a negated value or set of values in NETHACKOPTIONS wasn't
overriding a specific value set in the run-time config file. The
command line should take priority, then environment, then config file,
lastly builtin defaults.
This could probably use some improvement. It now treats role:!val
as if there was no val role and the entry was role:random rather than
previous role:none (affects prompting).
[I've just realized that role:!foo in environment will be combined
with role:!bar in config file rather than replacing it. I'm not sure
how to deal with that.]