Issue #1. Implement changelog and changesets.

A changelog is an ordered set of changesets.
Nested changelogs are not supported yet.

Changesets are always immutable and incremental.
Changesets are uniquely identified by their ID and must also define
an author and exactly 1 Cypher query (checksum is based on this).

Newly defined changesets must be included after the existing ones.