* [typescript-fetch] Make additional properties access safer
Instead of asserting that any key access returns a valid property, force
the consumer to check that the value is defined.
* Update tests
* Put null-safe additional props behind and flag and share
* Undo over copy
* Update docs
* Rearrange code
* Move to unit tests