pw_kvs: Expand tests for error handling

- Add error injection features to InMemoryFakeFlash. Reads or Writes can
  be programmed to fail.
- Introduce key_value_store_error_handling_test.cc, which focuses on
  corruption and read/write failure cases.
- Add functions for creating binary KVS entries at compile time.

Change-Id: Ie52ba5eb13eb60244835ef43314282beacc3a659
diff --git a/pw_kvs/BUILD b/pw_kvs/BUILD
index 01b63ea..4083387 100644
--- a/pw_kvs/BUILD
+++ b/pw_kvs/BUILD
@@ -123,7 +123,19 @@
         ":crc16",
         ":pw_kvs",
         ":test_utils",
-        "//pw_checksum",
+        "//pw_log",
+    ],
+)
+
+pw_cc_test(
+    name = "key_value_store_error_handling_test",
+    srcs = [
+        "key_value_store_error_handling_test.cc",
+    ],
+    deps = [
+        ":crc16",
+        ":pw_kvs",
+        ":test_utils",
         "//pw_log",
     ],
 )