Merge branch '2.3' into 2.4

* 2.3:
  fix some cs
  use restore_error_handler instead of set_error_handler($previous)
  fix #9321 Crawler::addHtmlContent add gbk encoding support
  [Console] fixed column width when using the Table helper with some decoration in cells
  [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.
  Fix for cache-key conflict when having a \Traversable as choices
  [Security] removed obsolete comment

Conflicts:
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/Security/Tests/Http/Firewall/ExceptionListenerTest.php
Merge branch '2.4'

* 2.4:
  fix some cs
  use restore_error_handler instead of set_error_handler($previous)
  fix #9321 Crawler::addHtmlContent add gbk encoding support
  [Console] fixed column width when using the Table helper with some decoration in cells
  [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.
  Fix for cache-key conflict when having a \Traversable as choices
  [Security] removed obsolete comment
[Validator] Added Doctrine cache
Skips test that need full lib-intl.
minor #9896 [Intl] Skip tests that need full lib-intl when there's no lib-intl (pamil)

This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #9896).

Discussion
----------

[Intl] Skip tests that need full lib-intl when there's no lib-intl

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

`NumberFormatter::formatCurrency` executes indirectly `Symfony\Component\Intl\ResourceBundle\Reader::read()`, which has `$bundle = new \ResourceBundle($locale, $path)` - there's Fatal Error if `\ResourceBundle` isn't found. Added availability to run unit tests if `lib-intl` isn't installed.

Commits
-------

6614b66 Skips test that need full lib-intl.
feature #9892 [Validator] Added Doctrine cache (florianv)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Validator] Added Doctrine cache

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/9887
| License       | MIT
| Doc PR        |

I propose to keep the `CacheInterface` and deprecate only the `ApcCache`.
It will leave the classes depending on a `CacheInterface` unchanged and will allow to adapt new cache providers in the future.

Commits
-------

3c4de45 [Validator] Added Doctrine cache
Change of scope

When overriding the Symfony RoleHierarchy it would be great to be able to get access to the buildRoleMap-method and map-variable for more advanced usage.
minor #9374 Change of scope (djoos)

This PR was submitted for the 2.3 branch but it was merged into the 2.5-dev branch instead (closes #9374).

Discussion
----------

Change of scope

Hi,

when overriding the Symfony RoleHierarchy it would be great to be able to get access to the buildRoleMap-method and map-variable for more advanced usage.

Don't hesitate to ask for further clarification if necessary - thanks in advance for merging the PR!

Kind regards,
David

Commits
-------

621aaf1 Change of scope
adjusted behavior to always copy override on url files
Expand tree
Improved form tree
Made sections collapsable
Added error badge
Fixed CS
Vertically centered the icons in the form tree
Improved JavaScript of the form debugger
Inverted toggler images and improved button coloring
Added "use strict" statements
Changed toggle color back to blue and made headlines in the form debugger clickable
Moved toggle icon behind the headlines in the form debugger