art: Refactor RuntimeOptions/ParsedOptions

Refactor the RuntimeOptions to be a
type-safe map (VariantMap, see runtime_options.h) and the ParsedOptions
to delegate the parsing to CmdlineParser (see cmdline/cmdline_parser.h).

This is the start of a command line parsing refactor, and may include
more in the future (dex2oat, patchoat, etc).

For more details of the command line parsing generator usage see cmdline/README.md

Change-Id: Ic67c6bca5e1f33bf2ec60e2e3ff8c366bab91563
diff --git a/runtime/java_vm_ext.h b/runtime/java_vm_ext.h
index c3f0a82..037fbe5 100644
--- a/runtime/java_vm_ext.h
+++ b/runtime/java_vm_ext.h
@@ -34,10 +34,11 @@
 class Libraries;
 class ParsedOptions;
 class Runtime;
+struct RuntimeArgumentMap;
 
 class JavaVMExt : public JavaVM {
  public:
-  JavaVMExt(Runtime* runtime, ParsedOptions* options);
+  JavaVMExt(Runtime* runtime, const RuntimeArgumentMap& runtime_options);
   ~JavaVMExt();
 
   bool ForceCopy() const {