API change

- Hardening `data.set()` to be an explicit representation of the record
- Created `data.update()` to simplify adding or changing one or more properties of a record
- Removing superficial throws from various `data` methods