Turn YAML option data into Ruby code option data

This imports the YAML option definitions into Ruby code, avoiding the need to
parse and decode an external file before we can print option data.  This also
makes it harder - though, obviously, still entirely possible - to miss the
existence of that data when updating the code.

There is no behavioural change in the product from this.  The same data, in
the same form and order, is supplied to the rest of the system.  Only the
source is modified.

This closes #459, as the data now lives in Ruby.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Fix mismatched option `invert` with code `inverse`

An earlier fix caught most, but not all, of the mismatching uses of `invert`
and `inverse` through the code.  Jan Meyer <jan.meyer@m-bs.de> correctly noted
one of the places that was missed was the external option data files.

This, in part, is the motivation for pulling that data into the Ruby code -
having established that it is harder to discover that in a separate file, when
you search for a string, I wanted to tackle the root cause.

Ultimately, though, I need to apply the fix that Jan supplied - and having
rewritten the code this applies the concept rather than the delta he offered.

This supplants #451, which made the change in the YAML files.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>