Don't emit swap or change events when structure doesn't change

Don't emit swap or change events when updating structure doesn't actually change anything. In a similar manner, don't update history; otherwise you may pollute it.

- [ ] consideration of `.on('signal')` event to emit whenever a `Cursor.update` method is called.
- [x] update README.md on this subtle behaviour change.

Closes https://github.com/omniscientjs/immstruct/issues/16