Move interpretation state history into it's own table
The state history can grow in megabyte size. In order to keep the important tables lean, we move the history into it's own table. This makes it easier to implement undo functionality later as well.