Refactor common code and reduce nesting
Merge branch '2.4'

* 2.4:
  [Debug] fixed tests
  ErrorHandlerTest: restore_error_handler() on assertion failure
  Fixed typo
  [validator] throw an exception if isn't an instance of ConstraintValidatorInterface.
  Reset the box model to content-box in the web debug toolbar
  [FrameworkBundle] Allowed "0" as a checkbox value in the php template.
  raising delta on stopwatch as travis really breaks with less than 35
  Switched to correct gender of "Token"
  bumped Symfony version to 2.4.1
  updated VERSION for 2.4.0
  updated CHANGELOG for 2.4.0
  fixed typos in several translations
  [HttpKernel] use static late binding when dumping out container

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
Merge branch '2.4'

* 2.4:
  fixed CS
  fixed CS
[Debug] Added UndefinedMethodFatalErrorHandler
feature #9779 [Debug] Added UndefinedMethodFatalErrorHandler (lyrixx)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Debug] Added UndefinedMethodFatalErrorHandler

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

Commits
-------

74d13e3 [Debug] Added UndefinedMethodFatalErrorHandler
[DependencyInjection] added support for inlining Configurators
feature #9791 [DependencyInjection] added support for inlining Configurators (realityking)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[DependencyInjection] added support for inlining Configurators

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

This is one commit from #9432.

As mentioned in #3758 configurators can not be private (it's just ignored). This pull changes that and allows them to be inlined. It it also creates better code if a configurator is used multiple times for one service (i.e. to both inject it and configure the same service, or to configure multiple inlined services) but this should be very rare.

Commits
-------

4e9aa07 [DependencyInjection] added support for inlining Configurators
minor #9723 [Security] [Acl] [MaskBuilder] Refactor common code and reduce nesting (djlambert)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Security] [Acl] [MaskBuilder] Refactor common code and reduce nesting

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

Refactored some common code and moved a comparison to an earlier statement.

Commits
-------

7d85809 Refactor common code and reduce nesting
[Form] Added delete_empty option to allow proper emptyData handling of collections
feature #9773 [Form] Added delete_empty option to allow proper emptyData handling of collections (peterrehm)

This PR was squashed before being merged into the 2.5-dev branch (closes #9773).

Discussion
----------

[Form] Added delete_empty option to allow proper emptyData handling of collections

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes/no?
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #9375
| License       | MIT
| Doc PR        | symfony/symfony-docs#3338

This PR adresses the issue that if you have a form collection with the option required => false and you submit an empty collection so you will get a ArrayCollection that contains en element with the value null.

This behaviour was introduced with the following changes from symfony/symfony#3257

In addition to the above mentioned ticket there is also a description about the same issue here: http://stackoverflow.com/questions/19474872/symfony2-form-collection-allow-add-and-allow-delete-null-error-silex

With the changes of this PR the new option empty_data is introduced. With this option you will be able to ignore/delete such empty collections, so they will neither be validated nor appear as empty field in the result.

The option will remove/ignore such empty collections if you add them newly and if allow_add is enabled and
removes such empty collections only if allow_delete is enabled.

With setting required and empty_data accordingly it will be now flexible to customize to the outcome you want to achieve.

Thanks to @bschussek for the great work together - We have to discuss how to name this option so if delete
or ignore is the appropriate name.

Commits
-------

8bdb7a0 [Form] Added delete_empty option to allow proper emptyData handling of collections
fixed CS
[Form][2.4] added an option for multiple files upload (closes #1400)
feature #8224 [Form][2.4] added an option for multiple files upload (closes #1400) (bamarni)

This PR was squashed before being merged into the 2.5-dev branch (closes #8224).

Discussion
----------

[Form][2.4] added an option for multiple files upload (closes #1400)

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

Commits
-------

c8c6448 [Form][2.4] added an option for multiple files upload (closes #1400)
[Console] Added a way to set the process title
[DependencyInjection] Avoid call_user_func in dumped containers.
minor #9807 [DependencyInjection] Avoid call_user_func in dumped containers. (realityking)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[DependencyInjection] Avoid call_user_func in dumped containers.

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

This is the second commit from  #9432.

When using static methods for either the factory or as the configurator we can avoid using call_user_func and directly use the class:method notation. This is faster (about 5 times, but we're talking milliseconds here) but I think the resulting code is also much easier to read.

The code to use call_user_func has to remain in PhpDumper because in the uncompiled container they still get used.

Commits
-------

be1eaaa [DependencyInjection] Avoid call_user_func in dumped containers.
[HttpKernel] Remove FrameworkBundle dependency in BundleTest
feature #9780 [Console] Added a way to set the process title (lyrixx)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Console] Added a way to set the process title

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

* I did not write test, because I want to RFC the idea before
* Do we want the process update its name when a sub command is executed by a master command ?

Commits
-------

204a25e [Console] Added a way to set the process title
minor #9802 [HttpKernel] Remove FrameworkBundle dependency in BundleTest (florianv)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[HttpKernel] Remove FrameworkBundle dependency in BundleTest

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

 `HttpKernel` tests fatal due to missing dependency `AddConsoleCommandPass`.
Also removed unused import.

Commits
-------

20a064f [HttpKernel] Remove FrameworkBundle dependency in BundleTest
[DependencyInjection] fix a regression introduced in #9807

Always dump the fully qualified class name, to support dumping containers in a namespace.