Implement a mechanism for persistent state
We're going to need a way to make arti state persist across invocations. This can be somewhat simplified by using serde, but we need something to make sure that the state actually gets loaded and saved appropriately. We need to future-proof the state against changes in its format, and we should support multiple backends if at all possible.