### New Features

 - git_pack::Find::try_find_cached(…, pack_cache)
   With this method it's easier to bypass local caches and control
   the cache oneself entirely.
 - add linked::Store::rc_iter()
   For completeness in case of single-threaded operations
 - linked::Store sorts bundles by modification date, newest first
 - A simplified version of the `Find` trait
   It's meant for the next generation of object db handles which keep a
   local cache of all the details of the actual object database.

### Bug Fixes

 - support Rust 1.52
 - linked::Store now assures unique IDs across compound stores

### Changed (BREAKING)

 - cleanup and unify `verify_integrity()` method signature
   Previously they used many different ways of handling their parameters
   despite all boiling down to calling the same 'index::File::traverse()`
   method.
   
   This allows for more reuse of `Options` structs and generally makes
   clearer how these optinos are used.
 - Change accessors named `hash_kind()` to `object_hash()` for consistency
 - consistently use `object_hash` instead of `hash_kind`
 - remove `Write::*(…, hash_kind)`
   The `hash_kind` is now intrinsic to the implementation of the write
   trait and thus isn't passed along anymore in parameters.
   
   The `sink()` function now takes the kind of hash as parameter.
 - various changes to the `loose::Store`.
   
   Change `path` field to read-only `path()` method
   add `hash_kind` parameter to `loose::Store::at(…, hash_kind)`
 - move `sink::Sink` to the top-level exclusively
 - move `loose::iter::Iter` to `loose::Iter`
 - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()`
   It now is an implementation detail of the Find trait.
 - Rename `Handle` to `Cache`
   Because this is exactly what it is effectively.
   Also add some basic instantiation for the new object store.
 - remove pack-cache from `Find::try_find(…)`
   With the new architecture this can be an implementation detail without
   forcing it to be Sync.
 - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait
   This will break a lot, but has to happen to prepare these traits for the
   next generation of object databases.

### New Features (BREAKING)

 - `Cache::inner` removed in favor of `Deref/Mut` and `into_inner()`
   Making the `inner` field available allows changing it, which would make
   it potentially incompatible with existing caches. The new
   implementation makes it essentially read-only while allowing more
   convenient access to methods on `inner`.

### Commit Statistics

 - 163 commits contributed to the release over the course of 51 calendar days.
 - 55 days passed between releases.
 - 24 commits where understood as [conventional](https://www.conventionalcommits.org).
 - 6 unique issues were worked on: #260, #266, #279, #287, #293, #298

### Thanks Clippy

[Clippy](https://github.com/rust-lang/rust-clippy) helped 4 times to make code idiomatic. 

### Commit Details

 * **#260**
    - linked::Store now assures unique IDs across compound stores (b605c1f)
 * **#266**
    - More explicit information about how much garbaged is in the slotmap (cfd36ee)
    - assure stable handles can actually access the indices hey need (9474a43)
    - a failing test to show the handle-stability doesn't quite work yet (5562e88)
    - refactor (c499843)
    - docs for dynamic object store (2c2a2e9)
    - Default handle refresh mode is the least surprising, with option to configure (1b74c14)
    - remove unused dependencies (c800fdd)
    - refactor (b88f253)
    - refactor (52a4dcd)
    - refactor (3da91ce)
    - move `sink::Sink` to the top-level exclusively (ab4e726)
    - dynamic store module cleanu (494772c)
    - adapt to changes in git-odb (a44dd4b)
    - move `loose::iter::Iter` to `loose::Iter` (8bb5c9a)
    - minor improvements to module layout, docs (0364f48)
    - fix docs (360bf9d)
    - Make single-threaded programs possible to use with git-repository (dde5c6b)
    - A more suitable iterator implementation for general store (af0cc5f)
    - A quick and dirty version index iteration (0384007)
    - Use new store in git-repository (2f9e342)
    - Use new odb in place of the old one and it works (8ad25c5)
    - remaining methods of git-pack::Find (92b9764)
    - Make find::Entry self-contained (ad36fb9)
    - Remove iterator access in favor of fully owned data (62d3f10)
    - It shows that we can't return anything referenced from the interior-mutable handle (b9f308b)
    - refactor (6cb474e)
    - prepare implementation of location-dependent methods (5de29f4)
    - refactor (2c23f42)
    - Impl git_odb::Write for general::Handle (b7a6ab7)
    - cleanup (a4f3670)
    - A way to predict the amount of slots needed for smooth operation (a3a16d6)
    - finding objects and dynamically loading packs seems to work (8f58c30)
    - add docs for handle-related functions (cf1b1e6)
    - first sketch of looking up objects with pack cache (a0aae84)
    - add contains checks for libgit2 (c64a45a)
    - Add MRU to contains() even faster contains checks (6525847)
    - Load an index right after refreshing items from disk (0c40eb3)
    - some more assertions for contains() regarding refresh mode (3f8c540)
    - Try reusing mappings, but no LRU (bb602e8)
    - try LRU-like contains implementation (2d6960f)
    - Don't abort run into assertion unnecessarily… (4e87a56)
    - Adjust object-acess to test new contains method (8488b41)
    - Looks like 'contains()' is implemented well enough (c24015a)
    - First successful loading of indices… (8cbef57)
    - first stab at loading indices while dealing with inherent raciness (94be3a0)
    - assure loops can't happen anymore (f04ff80)
    - The first green test for loose object lookup (0c6b7b1)
    - impl Write for Arc, Rc and shared borrows (5cdc27d)
    - more clarity around generations; actually trash slots or unset them (7bce101)
    - Adapt to changes in git-repository (3ab9b03)
    - Create a new index snapshot and store it (41d91f9)
    - Sort out race condition around slots that change identity (6e678e7)
    - Uncover slightly disturbing races which make it hard to ever release/unload maps (cbf2d13)
    - remaining comments about multi-pack-index handling (569c40b)
    - handling of multi-pack index slot-map moves as they change (456f1e7)
    - Also use object cache if there is no pack-cache (3e1ae25)
    - prepare correct handling of multi-pack indices when the time comes (6388ba2)
    - More thoughts about how to continue a search… (eac8c45)
    - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()` (3f05fea)
    - get closer to actually setting up slots (55645ae)
    - Cache-creators are indeed shared across threads, must be sync (c326cb3)
    - Add load-pack method frame to not forget (e1ec535)
    - Try to make Handle usable for pack creation (424c9b3)
    - Some steps towards recording the disk state in the slot-map (5074f4c)
    - make all handle caches and cache creators optional (3c30769)
    - better errors for disk consolidation; setup loose object dbs (4c13e14)
    - Make odb handle more general (2be6725)
    - Detail the load-indices flow more (11d3325)
    - Make slot-count configurable (c910af5)
    - :Find for Arc and Rc (b1c82a7)
    - Provide handle with a snapshot of the store's state (6e0cd6d)
    - MultiPackIndex compatible pack::Find trait definition (5fa1a9d)
    - refactor (d5565da)
    - git_pack::Find::try_find_cached(…, pack_cache) (58c2edb)
    - construct a handle from a linked store (9702ed4)
    - refactor (ab14f70)
    - A first tiny stab at Handle for linked store (ef08f7f)
    - Support for metrics in general store handle (11b98b8)
    - refactor (1361c31)
    - first test to trigger all major code-paths (25b56c5)
    - refactor (3310d8f)
    - more trustworthy state-id hashing (4eb43d0)
    - :Find implementation for linked::Store (9235106)
    - Use handle registration to avoid unloading packs; fix state-id hash (a1070de)
    - add linked::Store::rc_iter() (36fde72)
    - Handle registration (df4e4eb)
    - Use `Deref` instead of Borrow in linked ODB iterator (a96b1e5)
    - Bring in the slotmap (3a5cb5f)
    - put down more types for loading of indices and refresh logic (9909eaf)
    - remove pack-cache from `Find::try_find(…)` (ebc7f47)
    - Add all types the handle would have to store (e2f0cb0)
    - linked::Store sorts bundles by modification date, newest first (a81b333)
    - Rename `Handle` to `Cache` (580e96c)
    - First sketch of general store (fc1b640)
    - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00)
    - More affirmative notes about multi-pack indices (dceaea2)
    - A simplified version of the `Find` trait (e25f4ea)
    - Remove CRC32 check entirely as it doesn't seem to be important in the big picture (22d35bd)
    - Notes about multi-pack indices in the current data::entry::location (7eff6bf)
    - Adjust to new name/place of `bundle::Location` (1f8954d)
    - Add 'contains()' method to Find (dfdd6fb)
 * **#279**
    - add missing docs (4137327)
    - cargo fmt (8b9da35)
    - very first experimental support for multi-pack index verification (bb35c69)
    - multi-index verify checksum (853d468)
    - Another test to validate index stability (1fb08df)
    - Change accessors named `hash_kind()` to `object_hash()` for consistency (2ef9a84)
    - refactor (a4ad5bf)
    - handle 'move' of multi-pack indices (aec0895)
    - trigger last portion of multi-index logic (b46979b)
    - load slots early to avoid races with the 'generation' field (10bc3ab)
    - Only open multi-pack indices if the mtime changed (efe2579)
    - Add remaining Store docs (e440bcd)
    - first odb lookup with multi-index works (a8773df)
    - Generalize intra-pack offset lookup (dff05ef)
    - consistently use `object_hash` instead of `hash_kind` (49998cc)
    - replace bare u32 `data::Id` typedef (e0b8636)
    - A rough implementation of everything multi-index support would need… (56f174f)
    - Make opened multi-pack indices representable (28e648d)
    - first sketch towards reading in multi-indices (25eb157)
    - `Cache::inner` removed in favor of `Deref/Mut` and `into_inner()` (bf73a94)
    - refactor (7331e99)
    - adapt to changes in git-pack (28dba20)
    - adjust to changes in git-pack (b8f109e)
    - refactor (9b5451a)
    - loose object iteration respects hash kind (72eb9da)
    - remove `Write::*(…, hash_kind)` (67c42fb)
    - various changes to the `loose::Store` (ad1b9ea)
    - loose odb doesn't hard-code sha1 anymore for `find()` and `contains()` (68f1031)
    - First pieces of header parsing; allow to respect multi-index desired hash kind in git-odb (1a2a049)
    - Respect `core.multiPackIndex` option (1495efc)
    - only load multi-pack indices if allowed (b22e146)
 * **#287**
    - basic output for 'repo verify' json only (9f8d61f)
    - way nicer progress messages for repo verification (4b4f9f8)
    - upgrade to prodash 17 (47860b7)
    - better verify progress printing (4a464f2)
    - refactor (831397c)
    - refactor (38426a1)
    - Very rough version of repository verification (80a4a7a)
    - support for loose object statistics in odb store (53d835a)
    - bare-bones loose object integrity check (3dfec81)
    - frame for loose-db validation (a24307d)
    - First basic validation of all packs within an odb store (d63176f)
    - Don't reset generations, instead make them match the current one (1d995ef)
    - frame for interity check on object store (b5dd059)
    - cleanup and unify `verify_integrity()` method signature (91d0476)
 * **#293**
    - refactor (9b28b18)
 * **#298**
    - support Rust 1.52 (9c14de3)
 * **Uncategorized**
    - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119)
    - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29)
    - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7)
    - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8)
    - prepare changelogs for release (674ec73)
    - prepar changelogs for cargo-smart-release release (8900d69)
    - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725)
    - Release git-chunk v0.2.0, safety bump 4 crates (b792fab)
    - refactor (c09a44d)
    - thanks clippy (bf4694c)
    - thanks clippy (17af184)
    - make fmt (066f3ff)
    - thanks clippy (123a95e)
    - thanks clippy (4ca9e07)