16770 work package api patch for subject

[``* `#16770` Work package API PATCH for subject``](https://community.openproject.org/work_packages/16770)

This PR applies the specified behavior outlined in #2056.
You could get rid of this case statement when you move the error_identifier to be a property of each API::Errors::...