Allow clients to send Prefer header to control what properties they intend to operate against

This allows clients who only have a partial representation of a resource to use
PUT operations to replace only the triples they are aware of, or provide hints
to the server about what triples they intend to operate on (for e.g. PATCH)

e.g.:

PUT /a
Prefer: handling=lenient;
omit="http://fedora.info/definitions/v4/repository#ServerManaged"

... only non-managed server properties ...

or

PUT /a
Prefer: handling=lenient; received="minimal"

... only the minimal representation ...
Add tests for PreferTag