Ignore unknown keys

### Background

Currently, if a dictionary is passed to `update` and contains keys not present on the model, the system throws an exception. This can cause apps that already exist in production to crash if (for example) an API adds a new key and the key is not handled on the model object.

### Changes

- Adds a lightweight check for whether the model responds to the given key via `respondsToSelector`