Fix "Array was modified outside object" in ResizeFormListener.

The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the Iterator and data to be out of sync. When the data is an instance of IteratorAggregate, the loop should use the iterator directly and not rely on foreach.

The onSubmit method has been updated accordingly.
bug #10232 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)

This PR was submitted for the 2.4 branch but it was merged into the 2.3 branch instead (closes #10232).

Discussion
----------

[Form] Fix "Array was modified outside object" in ResizeFormListener.

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

The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate, it breaks with the following error:

Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142

This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the Iterator and data to be out of sync. When the data is an instance of IteratorAggregate, the loop should use the iterator directly and not rely on foreach.

The onSubmit method has been updated accordingly.

Commits
-------

4116b6e Fix "Array was modified outside object" in ResizeFormListener.
[DomCrawler] Added support for <area> tags to be treated as links
fixed various inconsistencies
minor #10243 Various minor changes (for 2.4) (fabpot)

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

Discussion
----------

Various minor changes (for 2.4)

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

Commits
-------

19f79c3 fixed various inconsistencies
bug #10245 [DomCrawler] Added support for <area> tags to be treated as links (shamess)

This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Added support for <area> tags to be treated as links

The [HTML area tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area) behaves exactly like the `a` tag in that they're both clickable, and if it has a `href` follows a link. The Link class works the same with both tags.

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

Commits
-------

23acd26 [DomCrawler] Added support for <area> tags to be treated as links
[Console] removed problematic regex
bug #10231 [Console] removed problematic regex (fabpot)

This PR was merged into the 2.3 branch.

Discussion
----------

[Console] removed problematic regex

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

This PR is a quick implementation of a replacement fora problematic regex.

Commits
-------

80bc41e [Console] removed problematic regex
updated CHANGELOG for 2.3.10
update CONTRIBUTORS for 2.3.10
updated VERSION for 2.3.10
bumped Symfony version to 2.3.11
updated CHANGELOG for 2.4.2
updated VERSION for 2.4.2
bumped Symfony version to 2.4.3
Added failing test
Revert "Fix "Array was modified outside object" in ResizeFormListener."
bug #10269 [Form] Revert "Fix "Array was modified outside object" in ResizeFormListener." (norzechowicz)

This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Revert "Fix "Array was modified outside object" in ResizeFormListener."

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

Unseting key on iterator is not an solution because in php "Array assignment always involves value copying. " So if \IteratorAggregate implementation create new iterator from array (just like [Doctrine ArrayCollection](https://github.com/doctrine/common/blob/2.3/lib/Doctrine/Common/Collections/ArrayCollection.php#L362) does)  such operation will not affect original data.

I'm just not sure if it's good to use Doctirn ArrayCollection in this test case or maybe its better to create own implementation of such Collection as a fixture.

Commits
-------

f62e30d Revert "Fix "Array was modified outside object" in ResizeFormListener."
462b7af Added failing test
Merge branch '2.3' into 2.4

* 2.3:
  Revert "Fix "Array was modified outside object" in ResizeFormListener."
  Added failing test
  bumped Symfony version to 2.3.11
  updated VERSION for 2.3.10
  update CONTRIBUTORS for 2.3.10
  updated CHANGELOG for 2.3.10
  [Console] removed problematic regex
  [DomCrawler] Added support for <area> tags to be treated as links
  Fix "Array was modified outside object" in ResizeFormListener.

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

* 2.4:
  Revert "Fix "Array was modified outside object" in ResizeFormListener."
  Added failing test
  bumped Symfony version to 2.4.3
  updated VERSION for 2.4.2
  updated CHANGELOG for 2.4.2
  bumped Symfony version to 2.3.11
  updated VERSION for 2.3.10
  update CONTRIBUTORS for 2.3.10
  updated CHANGELOG for 2.3.10
  [Console] removed problematic regex
  fixed various inconsistencies
  [DomCrawler] Added support for <area> tags to be treated as links
  Fix "Array was modified outside object" in ResizeFormListener.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php