[FEATURE] Deny editing if user doesn't have permission for all categories

Currently, if a (non-admin) user modifies a news record that contains
categories he has no permission to use, these categories are removed
without notice because all relations are freshly written on saving.

This change checks if the user has access to all categories that are
attached to a news before opening the TCEform. If this is not the case,
the record is rendered as read-only and a message is displayed to inform
the user that saving is disabled. If the user nevertheless tries to
modify the record in any way (by DataHandler performed actions such as
moving, deleting, editing), an error is thrown and the changes are not
saved.

The feature takes the l10n_mode of the category field into account which
can be changed by manipulating the TCA. This means e.g. that if the
l10n_mode is mergeIfNotBlank (default of EXT:news), the default language
has categories the user has no access to and the translated version
has no categories assigned yet, editing is denied.

Releases: 3.1
Resolves: #59063
Change-Id: Ifbd9ec6e4357f7ff06691657ffdd9011557eef41
Reviewed-on: http://review.typo3.org/31132
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>