Refactor common code and reduce nesting
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)
[EventDispatcher][HttpKernel] Move RegisterListenersPass from HttpKernel to EventDispatcher.