Migrate inventory code
This PR imports and migrates the inventory code here to the libherokubuildpack crate. The code was copied as-is and added in the first commit, and I've tried to keep changes to integrate it to a minimum.
I'm not sure what the best approach is to adapt the sha2 and semver feature flags from the source inventory crate - perhaps it's fine as-is, or perhaps it'd make sense to use different feature names given the new context/crate for the code. Relevant commit with comment.
I've removed a couple re-exports that appear to be unnecessary - see explanation in this commit.
There's a few comments on docs. I took a stab at it in a stacked PR https://github.com/heroku/libcnb.rs/pull/864. Feedback/review is welcome over there or it's free to be merged in here and iterated on. The only known pending thing is i put the feature names in the docs as TODO.
@joshwlewis I've merged Richard's documentation PR - I think should address your documentation comments?
@Malax I think this is waiting on you now. It looks like the changes you requested have been made. Can we get a 👍🏻?