TraceProcessor: extract Iterator{,Impl} into their own classes

Non-functional refactoring. This is just to allow
Iterator (and IteratorImpl) to be forward declared and
prevent circular dependencies.
Also keeps the codebase a bit cleaner keeping one class
per header with a matching name.

Change-Id: I30a2d9a9fd8e6042d6a98ee029dd37f824e61f98
diff --git a/Android.bp b/Android.bp
index b1fdcd5..15d8883 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6573,6 +6573,7 @@
     "src/trace_processor/dynamic/experimental_counter_dur_generator.cc",
     "src/trace_processor/dynamic/experimental_flamegraph_generator.cc",
     "src/trace_processor/dynamic/experimental_slice_layout_generator.cc",
+    "src/trace_processor/iterator_impl.cc",
     "src/trace_processor/read_trace.cc",
     "src/trace_processor/trace_processor.cc",
     "src/trace_processor/trace_processor_impl.cc",