pw_kvs: Define mutable iterator for EntryCache

Template the EntryCache iterator to support both const and mutable
iterators.

Change-Id: I1f2102325414d9703ecc0afc26633fec22b16a3c
diff --git a/pw_kvs/key_value_store.cc b/pw_kvs/key_value_store.cc
index 13708ae..d0ab512 100644
--- a/pw_kvs/key_value_store.cc
+++ b/pw_kvs/key_value_store.cc
@@ -381,7 +381,7 @@
 }
 
 KeyValueStore::iterator KeyValueStore::begin() const {
-  internal::EntryCache::iterator cache_iterator = entry_cache_.begin();
+  internal::EntryCache::const_iterator cache_iterator = entry_cache_.begin();
   // Skip over any deleted entries at the start of the descriptor list.
   while (cache_iterator != entry_cache_.end() &&
          cache_iterator->state() != EntryState::kValid) {