Teach StartupAnalyzer to handle threads with no slices

Sometimes we end up with threads that have no slices to them, which was crashing
the startup analyzer. This change uses POSITIVE_INFINITY as the start time for
threads with no slices.

This change also includes a regression test that was generated by reducing a
trace that exercised this bug. Further regression tests should now be easier to
add.

Test: atest
Change-Id: Ibc82abb6406689b2e1f8c15558458d16e9f3f65d
diff --git a/Android.bp b/Android.bp
index c5dcc62..7fd8807 100644
--- a/Android.bp
+++ b/Android.bp
@@ -61,6 +61,22 @@
     test_suites: ["general-tests"],
 }
 
+java_test_host {
+    name: "trebuchet-startup-common-tests",
+    defaults: ["trebuchet-defaults"],
+    srcs: [
+        "trebuchet/startup-common/test/**/*.kt",
+    ],
+    static_libs: [
+        "trebuchet-core",
+        "trebuchet-startup-common",
+    ],
+    libs: [
+        "junit",
+    ],
+    test_suites: ["general-tests"],
+}
+
 java_binary_host {
     name: "AnalyzerKt",
     defaults: ["trebuchet-defaults"],