[TASK] Execute functional tests and lint in parallel

Change-Id: Icab8cd1d7f4b9a56f10ed7fc1f6e945ff50b295c
Reviewed-on: https://review.typo3.org/27529
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Reduce memory footprint of unit tests

Running the whole unit test suite on cli can eat up a significant
amount of memory. Most of that can not be mitigated due to phpunit
itself, but we can at least hint the PHP garbage collection by
unsetting test class properties in tearDown().

The patch introduces a generic tearDown() method that reflects the
test class and unsets all temporary properties of the class. In
effect, tests do not need to take care of unsetting properties.

The patch removes all tearDown() methods that only unset() stuff
and keeps others that do additional things but adds a call to
parent::tearDown(). Private properties are changed to protected,
so parent::tearDown can reach them. The additional computing
effort of the reflection is insignificant, the suite is nearly as
fast as before.

Results:
php 5.3: 1056MB -> 851MB
php 5.4: 870MB -> 670MB
php 5.5.: 876MB -> 674MB

Resolves: #55850
Related: #51436
Releases: 6.2
Change-Id: Ie665c53a3ab35e4808677e483d2099e0511c393f
Reviewed-on: https://review.typo3.org/27528
Reviewed-by: Helmut Hummel
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Fix behavior of revExplode if delimiter not found

If the given delimiter is not found in the given string
GeneralUtility::revExplode() will return an array with a single element
containing the unexploded string.

Resolves: #55838
Releases: 6.2
Change-Id: I1146552a625a8057be86b2745febf808638a290c
Reviewed-on: https://review.typo3.org/27524
Reviewed-by: Andreas Wolf
Tested-by: Andreas Wolf
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Fallback/default case for SwitchViewhelper

In order to provide the full functionality known from the
switch/case PHP function, a default case possibility is
introduced. Use it like:
<f:switch expression="{person.gender}">
  <f:case value="female">Mrs.</f:case>
  <f:case value="male">Mr.</f:case>
  <f:case default="TRUE">Mrs. or Mr.</f:case>
</f:switch>

Change-Id: Ib9468cdabd66fb8b484cb4d07520d5b529548dd1
Resolves: #49371
Documentation: #54283
Releases: 6.2
Reviewed-on: https://review.typo3.org/26058
Reviewed-by: Benjamin Kott
Tested-by: Benjamin Kott
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Wrong check removes FE cookie

Issue #55549 added a wrong check for user uid.
As result the FE cookie gets deleted when you are
loggedin instead when your not.

This change inverses the check.

Resolves: #55845
Releases: 6.2
Change-Id: I0c59afb8c89e9f7887970eaf0a4079fe98280b2c
Reviewed-on: https://review.typo3.org/27525
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Reviewed-by: Marcin Sągol
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
clenaup travis yaml and parallelize all tests

Change-Id: I8db88cf672c01c33313b217ca9f7f8661f6d833a