[BUGFIX] Hide version selector if workspaces are used

All versioning information and actions should be
hidden if workspaces are used.

One remaining selector is in the page module when
a page has been versioned in a workspace.

Hide this selector when workspaces extension is installed.

Fixes: #43264
Related: #27969, #25962
Releases: 4.5, 4.6, 4.7, 6.0

Change-Id: If96f1fe99f2a7a5b5b48f1f8a1aca8f053a6622a
Reviewed-on: http://review.typo3.org/16706
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Styling of Page module

Overwork the styling of the Page module:

* New style for columns
* Hide new icons by default, show on hover
* Style Drag & Drop

Thanks to Lars Zimmermann and Jens Hoffmann

Change-Id: I7f06382c51561e8c9855af0ef15afea1a8dd6acb
Resolves: #43208
Releases: 6.0
Reviewed-on: http://review.typo3.org/16700
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Impexp is broken

The autoloader assumes that classes are located inside Classes, but the
directory is still lower case classes.

Rename the directory to conform to the default behavior.

Fixes: #43280
Releases: 6.0

Change-Id: Id8fc4c4e2f5290a45d4aac62ca577d6fdbfb5266
Reviewed-on: http://review.typo3.org/16720
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Repair table header row styles

Restores css styles for table header rows.
Keeps newly introduced style for content element header.

Change-Id: Ic368eeb5f98fa7026508f7273499e1c64d4ce30f
Fixes: #43281
Releases: 6.0
Reviewed-on: http://review.typo3.org/16721
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[TASK] Introduce object implementation registry

With 6.0 all Xclass inclusion in the classes have been
removed and registration of Xclasses have previously been
moved to the autoloader. This added additional complexity 
and another concern to the class loader.

To enable extensions to override classes, an object
implementation registry is now introduced, where you
can now define which implementation class name should 
be used for an original class.

This not only is a complete replacement for former
Xclasses, but at the same time adds the possibility
to have the implementation class name within the namespace
and scope of the extension which registers the override.

On top it would also be possible to register implementations
for interfaces.

Since only class names are mapped here, we again have a
clear separation of concerns, where the class loader
is only responsible to resolve paths for class names
and the "object manager" method makeInstance for resolving
the final class name to instantiate.

The path of the target class can be resolved automatically
by the class loader if naming conventions are met or the
target class name is put into the autoloading registry.

An implementation of a class can be registered like this:

$TYPO3_CONF_VARS['SYS']['Objects']['originalClass'] = 
  array('className' => 'targetClass');

The patch adjusts the ClassLoader and makeInstance.
The unit tests for the ClassLoader are removed since
it is not responsible for resolving Xclasses any more.

Instead unit tests for makeInstance are added to test
the new behavior.

Resolves: #43269
Releases: 6.0

Change-Id: I04198b178aa41f02d7a5b7ee990ff24f483990f5
Reviewed-on: http://review.typo3.org/16712
Reviewed-by: Steffen Ritter
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Tested-by: Steffen Ritter
Reviewed-by: Christian Kuhn
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Use correct parameter type in insertPositionIcon

PagePositionMap::printContentElementsColumns must call insertPositionIcon
with fake row array instead of empty string as first parameter.

Change-Id: I11afd7e8cad47b6892f0cd60feea8b53ff4d5945
Fixes: #43284
Releases: 6.0
Reviewed-on: http://review.typo3.org/16722
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
Revert "[BUGFIX] Use correct parameter type in insertPositionIcon"

This reverts commit 8e0b7cba6649ee92cd741b119277f05a7481df8a

Change-Id: I03c5aa86d3ef07dab5a9de9f4c59f1c3b3fb9a48
Reviewed-on: http://review.typo3.org/16723
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[TASK] Raise submodule pointer

Change-Id: I7b1cefba3bdeb975caadcc403b520a91fdb312c9
Reviewed-on: http://review.typo3.org/16726
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Cleanup trailing newline after ?>

Change-Id: Ib027351a353ca1fc5ee33bb13b18317d64267d8e
Releases: 6.0
Resolves: #43287
Reviewed-on: http://review.typo3.org/16728
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Allow Folder and Storage to recursively retrieve Files from Driver

The drivers in FAL are capable of retrieving files recursively.
This might be sinful in some cases and custom usages. Anyhow,
the parameter $recursive is not passed up until Storage and
Folder objects. With that users are forced to work with the
driver directly.

As it is highly discouraged to work directly on the driver,
just pass up the parameter within the abstraction layers.

Change-Id: Ibe8f9aa9e906617a42a9a7d5edba43f24f613587
Releases: 6.0
Fixes: #43249
Reviewed-on: http://review.typo3.org/16697
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel