Basic implementation of history.

Appends block creations to `self.history` and writes to unique file on exit. Still much work to be done.

This will provide a good basis for writing tests.