Add JVM properties for most command-line arguments.

This commit adds configurable JVM properties (also accessible as
-X flags) for most command-line arguments. Those flags can now
be set for JRuby applications that are never run directly at a
command line, such as those within an application server.

The new properties are under the "CLI" category in the property
list.

This commit also cleans up and formalizes the "Option" subsystem
a bit so it can be turned into an external library or used by
other projects. Support for Enum-based options was also added.