[TASK] Simplify record icons in workspace module

The record details view renders record icons for both live and
versioned record. However, this representation is shown rather
stand-alone and can be combined with the accordant headers.

Resolves: #60015
Releases: master, 6.2
Change-Id: I2f468a06271f335c491d90d825f7bcef7a9db9f6
Reviewed-on: http://review.typo3.org/32156
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
[TASK] Refactor file references relations retrieval

The retrieval of file references in BackendUtility
is currently bound to the thumbCode() method but
is useful for other components as well.

Resolves: #60054
Releases: master, 6.2
Change-Id: Id92bdeaed24d8924285a640f905ffd55db21da4d
Reviewed-on: http://review.typo3.org/32157
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
[TASK] Disable notifications

Change-Id: I245db7b621ecd1d994b833da4a18fe1687a437d0
[BUGFIX] Extbase behaviour concerning workspaces

Issue #26732 introduced some behaviour into Extbase that cannot
work on the long-run. The usual behaviour of TYPO3 is "fetch
live, then overlay". Avoiding that chain might lead to
several side-effects.

This change integrates a new property "_versionedUid" than
contains the specific uid of the versioned record (this is
similar to the already existing _localizedUid property).
Besides that, changes of issue #26732 are reverted.

Functional frontend tests are enabled for live and workspace
for all IRRE ForeignField scenarios.

Resolves: #59107
Releases: 6.2
Change-Id: Idc46fb86830bc3d750972adade178cf9c618ece5
[BUGFIX] PageTree cannot select/expand hidden nodes

TYPO3.Backend.NavigationContainer.PageTree.select(64) does not
select the correct page, but tries to determine the correct node
levels, fakes the local node states and reloads the page tree.
One thing that might not be considered there is the fact that
pages are represented in hex-values with a leading "p", thus
the integer "64" with be converted to "p40" as node id.

To overcome this scenario and enable custom handling there,
a new generic method is introduced:
TYPO3.Backend.NavigationContainer.PageTree
	.invokePageId(pageId, callback, allResults);

The methods "selectPageId" and "expandPageId" show how this
is actually used.

Resolves: #60405
Releases: 6.3, 6.2
Change-Id: If24b1a0ec261e9bcf00d214bf10c4b4a0aa5bed5
[BUGFIX] Cannot use slot to modify grid data in workspace module

Using slots in GridDataService does not work since passing
arguments by reference does not work. Since TYPO3 CMS 6.2
it's possible that the SignalSlotDispatcher returns
(modified) arguments.

Resolves: #60926
Releases: master, 6.2
Change-Id: If7f3a782bf8870bfb158c566df01cf2311fce048
[TASK] Integrate collection selection behavior in workspace module

Since TYPO3 6.2 parent-child structures are visualized in
the workspace module. However, this representation lacks
the possibility to select all elements of that accordant
collection by one click.

A new event "holdclick" is integrated that is fired after
holding the mousedown event for 400ms. This event then
leads to have all records of the collection selected.

The regular mousedown (click) behavior still stays the same.

Resolves: #60010
Releases: 6.2, 6.3
Change-Id: I98d26f125428446157294866484f8be7106b0c51
[TASK] Possibility to disable grouping in workspace module

The workspace modules uses the ExtJS component GroupingStore
per default to group and nest version by page path. However,
this behavior get unhandy if all versions of all pages shall
be sorted by a particular column.

A new checkbox "group by path" shall be added to the top
columns menu to individually disable/enable this behavior.
Changes to that state are stored with the preferences of
a backend user for the accordant workspace.

Resolves: #60037
Releases: master, 6.2
Change-Id: I8e9a2f3f14870c90ea5988a0182a54b22762390e
[TASK] Refactor file references relations retrieval

The retrieval of file references in BackendUtility
is currently bound to the thumbCode() method but
is useful for other components as well.

Resolves: #60054
Releases: 6.2, 6.3
Change-Id: Id92bdeaed24d8924285a640f905ffd55db21da4d
[TASK] Add possibility to enable/disable record nesting

Releases: 6.2, 6.3
Change-Id: I548cb1944e2793abed8ac9e210345be95cf3c853
[TASK] Streamline row selection in workspaces row expander

Releases: 6.2, 6.3
Change-Id: I50a3593ae0dcc96023cae0856a4f2be554fa127d