Refactor errors for disallowed tag parameters

This refactors the way in which errors are returned to clients when an
attempt is made to update a field for the resource which cannot be
updated.
Disallow updates to the tag_type field

We should not allow changes to the tag_type attribute, as it effectively
changes the tag ID and will break taggings of content.