Repo commits

Added repo commits.
TODO:
- [x] Can you also add a cli tests that does the flow
- [x] Remove test TODO
- [ ] Test existing repo migration
- [x] DictionaryThriftStorage store should return an Id, not a path
- [x] Two increment functions, for either side of the Commit.
- [ ] Investigate if it should use the latest id, or the current one. (Do you need to get the latest FeatureStoreId or can you use the previous commit's FeatureStoreId)
- [ ] Is it racing to write the commit? (**yes**)

After I merge this PR I guess we should capture the hash as `V4` and update this again