Implement Entry API for storage2::LazyHashMap (#480)
* [core] Rename Entry to Internal Entry * [core] Add Entry API for storage2::LazyHashMap * [core] Add storage2::LazyHashMap::len() * [core] Migrate tests to use storage2::LazyHashMap::len() * [core] Implement FromIterator and Extend for storage2::LazyHashMap * [core] Implement macro to generate LazyHashMap + HashMap Entry API tests * [core] Remove redundant storage2::HashMap Entry API tests * [core] Make storage2::HashMap Entry API use storage2::LazyHashMap's Entry API * [core] Move parameterized Entry API tests into separate file * [core] Rename InternalEntry to StorageEntry * [core] Make lazy_hmap module public * [core] Generate Entry API benches for LazyHashMap and HashMap from macro * [core] Minor streamlining * [core] Display hashmap variant in benchmark description * [core] Fix comment * [core] Fix typos * [core] Make more use of BTreeMap Entry API * [core] Replace unwrap with expect * [core] Improve comment * [core] Handle loading from storage * [core] Restrict unsafe * [core] Less ops for case "entry not in cache, but in storage" * [core] Rename len() * [core] Fix typo * [core] Fix visibility * [core] Address comments * [core] Add test to verify that cache is marked as 'Mutated' * [core] Shorten code with utility function * [core] Improve naming