Updates to changeset, array tracking, and bug fixes

This change has more to come, but changesets have been updated, and
array tracking is more robust for tracking primitives. Still more work
to do on handling changes to arrays because it isn’t quite working
right. Various bug fixes and helper methods were added to set key and
type fields on objects.
Bug fixes and unit tests
Demo app updates