Ensure patch/put operations use data from input filter

Following along with create(), update() and patch() should both use the values
present in the input filter, if present, over those passed to the method.

This patch introduces an abstraction, retrieveData(), that performs the work of
looking for the input filter and extracting values from it if found. It also
introduces tests for this specific functionality.
Merge branch 'security/updates-should-use-input-filter' into develop

Ensure patch/put operations use data from input filter

Following along with create(), update() and patch() should both use the values
present in the input filter, if present, over those passed to the method.

This patch introduces an abstraction, retrieveData(), that performs the work of
looking for the input filter and extracting values from it if found. It also
introduces tests for this specific functionality.