pw_kvs: Add test flash partition that keeps stats

Add test flash partition for keeping track of sector erase counts.
Add helper methods for saving the combined KVS and flash partition
erase stats to a csv file.
Add support for the new test partition to kvs fuzz test and map test.

Example output:
Test Name,Total Erases,Utilization Percentage,Transaction Count,Entry Count,
Sector 0,Sector 1,Sector 2,Sector 3,Sector 4,Sector 5
fuzz Put_VaryingKeysAndValues,232,30,8064,63,46,34,33,45,33,41

Change-Id: I5f714d2be8ca754aca1303eaf6516f10b561fcaa
diff --git a/pw_kvs/BUILD b/pw_kvs/BUILD
index 73a1b19..e91500f 100644
--- a/pw_kvs/BUILD
+++ b/pw_kvs/BUILD
@@ -88,6 +88,23 @@
     ],
 )
 
+pw_cc_library(
+    name = "test_partition",
+    srcs = [
+        "flash_partition_with_stats.cc",
+    ],
+    hdrs = [
+        "public/pw_kvs/flash_partition_with_stats.h",
+    ],
+    includes = ["public"],
+    visibility = ["//visibility:private"],
+    deps = [
+        "//pw_kvs",
+        "//pw_log",
+        "//pw_status",
+    ],
+)
+
 pw_cc_test(
     name = "alignment_test",
     srcs = [
@@ -159,6 +176,7 @@
     deps = [
         ":crc16",
         ":pw_kvs",
+        ":test_partition",
         ":test_utils",
         "//pw_checksum",
     ],
@@ -170,6 +188,7 @@
     deps = [
         ":crc16",
         ":pw_kvs",
+        ":test_partition",
         ":test_utils",
         "//pw_checksum",
     ],