When printing top stats, include count

Instead of just accumulating the time for each instance under a
statistics call, also keep track of how many times it was called:

  *kati*: func shell time: 0.822685 / 148 (114 unique)
  *kati*:   0.019 / 3 cd foo; find -L ../src -name "*.java" -and -not -name ".*"
  ...

Due to line length concerns, I didn't put the average (elapsed/count), but
that's fairly easy to calculate by hand. I also added the '(X unique)'
to understand how unique the calls are.

If it becomes useful in the future, this would be extensible to support
bucketed count -- allowing generation of histograms. I don't expect enough
variation to need that with any stats uses today.

Update to c++17 (the default in Android) to support decomposition
declarations.

Change-Id: I357fb4fdc155dc0be5103f4f3a268f2cdaa4201a
diff --git a/Makefile.ckati b/Makefile.ckati
index e4067bb..6337590 100644
--- a/Makefile.ckati
+++ b/Makefile.ckati
@@ -82,17 +82,17 @@
 # Rule to build ckati into KATI_BIN_PATH
 $(KATI_BIN_PATH)/ckati: $(KATI_CXX_OBJS) $(KATI_CXX_GENERATED_OBJS)
 	@mkdir -p $(dir $@)
-	$(KATI_LD) -std=c++11 $(KATI_CXXFLAGS) -o $@ $^ $(KATI_LIBS)
+	$(KATI_LD) -std=c++17 $(KATI_CXXFLAGS) -o $@ $^ $(KATI_LIBS)
 
 # Rule to build normal source files into object files in KATI_INTERMEDIATES_PATH
 $(KATI_CXX_OBJS) $(KATI_CXX_TEST_OBJS): $(KATI_INTERMEDIATES_PATH)/%.o: $(KATI_SRC_PATH)/%.cc
 	@mkdir -p $(dir $@)
-	$(KATI_CXX) -c -std=c++11 $(KATI_CXXFLAGS) -o $@ $<
+	$(KATI_CXX) -c -std=c++17 $(KATI_CXXFLAGS) -o $@ $<
 
 # Rule to build generated source files into object files in KATI_INTERMEDIATES_PATH
 $(KATI_CXX_GENERATED_OBJS): $(KATI_INTERMEDIATES_PATH)/%.o: $(KATI_INTERMEDIATES_PATH)/%.cc
 	@mkdir -p $(dir $@)
-	$(KATI_CXX) -c -std=c++11 $(KATI_CXXFLAGS) -o $@ $<
+	$(KATI_CXX) -c -std=c++17 $(KATI_CXXFLAGS) -o $@ $<
 
 ckati_tests: $(KATI_CXX_TEST_EXES)