Support changesets, versions and history

Work in progress:
- [x] changeset
- [x] version
- [x] history