Fixed and refactored profiler options handling

- extracted profiler options in a separate class
- switched from system property reading to command line arguments
- added profile based compilation options to CompilerOptions
- removed no longer used kProfile compilation filter
- optimize dex files only if the profiler is enabled
- clean up unused arguments

Bug: 12877748
Bug: 15275634
Change-Id: I37ff68e7694370950ce8db2360562e9058ecebb7
diff --git a/runtime/parsed_options.h b/runtime/parsed_options.h
index 25fc12a..a27eec6 100644
--- a/runtime/parsed_options.h
+++ b/runtime/parsed_options.h
@@ -77,13 +77,8 @@
   std::string compiler_executable_;
   std::vector<std::string> compiler_options_;
   std::vector<std::string> image_compiler_options_;
-  bool profile_;
+  ProfilerOptions profiler_options_;
   std::string profile_output_filename_;
-  uint32_t profile_period_s_;
-  uint32_t profile_duration_s_;
-  uint32_t profile_interval_us_;
-  double profile_backoff_coefficient_;
-  bool profile_start_immediately_;
   ProfilerClockSource profile_clock_source_;
   bool verify_;
   InstructionSet image_isa_;