[FrameworkBundle] fixed path replacement on Windows

In the cache, blackslashes in paths can be both represented by a single
or a double backslash.
remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
bug #9192 [2.2][Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser (franek)

This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser

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

MinCount and MaxCount has been removed and replaced by Count (in 2.2 also).

Commits
-------

58a3296 remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
Merge branch '2.2' into 2.3

* 2.2:
  remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
bug #9184 Fixed cache warmup of paths which contain back-slashes (fabpot)

This PR was merged into the 2.2 branch.

Discussion
----------

Fixed cache warmup of paths which contain back-slashes

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

From #8781

"
At this step in the warmup process there is a string replacement made, but paths with backslashes
are written into the cache file as something like `C:\\path\\to\\cache/pro_/...` but the str_replace
searches for the plain string `C:\path\to\cache/pro_/...`, which produces no matches.

The fix solves this by using var_export to escape the search (and replace) paths so they match the
format originally output into the cache file.
"

Commits
-------

526d285 [FrameworkBundle] fixed path replacement on Windows
Check for lock existence before unlinking

My logs are filled with a bazillion errors stating "Warning: unlink(/var/www/mysite/app/cache/prod/http_cache/md/cf/47/c693da5dab3eccb65fa36a9b4b07ad0f7cc4.lck): No such file or directory in /var/www/mysite/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 53"
bug #9207 [HttpKernel] Check for lock existence before unlinking (ollietb)

This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes #9207).

Discussion
----------

[HttpKernel] Check for lock existence before unlinking

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

My logs are filled with a bazillion errors stating "Warning: unlink(/var/www/mysite/app/cache/prod/http_cache/md/cf/47/c693da5dab3eccb65fa36a9b4b07ad0f7cc4.lck): No such file or directory in /var/www/mysite/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 53"

Commits
-------

89cd3b9 Check for lock existence before unlinking
fixed CS
[FramworkBundle][HttpKernel] Check event listener services are not abstract
bug #9214 [FramworkBundle] Check event listener services are not abstract (lyrixx)

This PR was merged into the 2.2 branch.

Discussion
----------

[FramworkBundle] Check event listener services are not abstract

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

Commits
-------

6744ead [FramworkBundle][HttpKernel] Check event listener services are not abstract
Fixed propel guessed relations
bug #9222 [Bridge] [Propel1] Fixed guessed relations (ClementGautier)

This PR was merged into the 2.2 branch.

Discussion
----------

[Bridge] [Propel1] Fixed guessed relations

<table>
  <tr><th>Q</th><th>A</th></tr>
  <tr><td>Bug fix</td><td>yes</td></tr>
  <tr><td>Feature addition</td><td>no</td></tr>
  <tr><td>Backwards compatibility break</td><td>no</td></tr>
  <tr><td>Symfony2 tests pass</td><td>yes</td></tr>
  <tr><td>Fixes the following tickets</td><td>N/A</td></tr>
  <tr><td>Todo</td><td>N/A</td></tr>
  <tr><td>License of the code</td><td>MIT</td></tr>
  <tr><td>Documentation PR</td><td>N/A</td></tr>
</table>

The `PropelTypeGuesser` did not match OneToMany relations properly. For example if you have a `Author` class with `Comments` attributes the guesser would guess "Comment" instead of "Comments".

I added some tests to ensure the non regression.

Commits
-------

0b1e95f Fixed propel guessed relations
[form] fix missing use statement for exception UnexpectedTypeException
bug #9236 [Form] fix missing use statement for exception UnexpectedTypeException (jaugustin)

This PR was merged into the master branch.

Discussion
----------

[Form] fix missing use statement for exception UnexpectedTypeException

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

fix missing use statement for exception `Symfony\Component\Form\Exception\UnexpectedTypeException`

cc @bschussek

Commits
-------

ea91533 [form] fix missing use statement for exception UnexpectedTypeException
fixed typo
minor #9245 fixed typo (inmarelibero)

This PR was merged into the master branch.

Discussion
----------

fixed typo

Commits
-------

780f463 fixed typo
fixed a test
[Process] Fix #9182 : random failure on pipes tests
bug #9257 [Process][2.2] Fix 9182 : random failure on pipes tests (romainneutron)

This PR was merged into the 2.2 branch.

Discussion
----------

[Process][2.2] Fix 9182 : random failure on pipes tests

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

I'm not a big fan of this fix, but - at least - it works.

With this code, finally, Process does not behave the same at all on Windows and Linux.
This patch does not smells very good but it solves the random failing test issue (that produced at runtime too).

Actually, calling `proc_get_status` within the waiting loop introduced the bug.
So this PR reverts to the previous behavior (consider a process running as long as pipes give data). On Windows, this is not the same behavior as we're not using streams but file handles. Whereas the feof of a stream is detected when the other side closes, the feof of a file handle can be reached at any time. So, on Windows, `proc_get_status` is called (checking the feof of the file handle might be positive until the executable outputs something), and we consider a process running as long as the information returned says it's running.

We could think of decouple windows and linux logic in two separated objects, using the interfaces I introduced in #8753. This could bring much more readability and make the code more easy to understand.

Commits
-------

64a0b40 [Process] Fix #9182 : random failure on pipes tests
Merge branch '2.2' into 2.3

* 2.2:
  [Process] Fix #9182 : random failure on pipes tests
  Fixed propel guessed relations
  [FramworkBundle][HttpKernel] Check event listener services are not abstract
  fixed CS
  Check for lock existence before unlinking
  [FrameworkBundle] fixed path replacement on Windows

Conflicts:
	src/Symfony/Component/Process/Process.php