Repo commits

Added repo commits.
TODO:
- [x] Can you also add a cli tests that does the flow
- [x] Remove test TODO
- [x] 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)
- [x] Is it racing to write the commit? (**yes**)

This shouldn't be possible - you can't import features without a dictionary