* feat(history): create atuin-history, add stats to it
I'd like to eventually pull all the history stuff into this crate. Stats
are a nice start, as I'd like to use them from the UI anyways.
* lock
* clippy
P99 is usually <100ms which is excellent, but occasionally has big
spikes to 1000ms. This is only on the record index.
I don't want this to get out of hand. I've ran a few test queries and
they all complete very fast, and are purely index scans.
Hopefully this helps figure out if it's a specific user with tonnes of
stores or something? Otherwise there could be something up with my db.
I should probably also figure out some proper log levels or tracing lol.
There's a bunch of duplication here!
I'd also like to support syncing shell "snippets", aka just bits of
shell config that don't fit into the structure here. Potentially special
handling for PATH too.
Rather than come up with some abstraction in the beginning, which
inevitably will not fit future uses, I'm duplicating code _for now_.
Once all the functionality is there, I can tidy things up and sort a
proper abstraction out.
Something in atuin-client for map/list style synced structures would
probably work best.