[Process] Close unix pipes before calling `proc_close` to avoid a deadlock

see http://php.net/manual/en/function.proc-close.php
merged branch romainneutron/unix-pipes (PR #8996)

This PR was merged into the 2.2 branch.

Discussion
----------

[Process][2.2] Close unix pipes before calling `proc_close` to avoid a deadlock

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

see http://php.net/manual/en/function.proc-close.php

Commits
-------

37102dc [Process] Close unix pipes before calling `proc_close` to avoid a deadlock
[FrameworkBundle] removed obsolete code
[Form] Fixed regression in BooleanToStringTransformer from ed83752
merged branch bschussek/issue8989 (PR #9000)

This PR was merged into the 2.2 branch.

Discussion
----------

[Form] Fixed regression in BooleanToStringTransformer

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

Commits
-------

2747bdc [Form] Fixed regression in BooleanToStringTransformer from ed83752
[DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)

This circular reference cannot be detected by the compiler pass as we
don't check for method arguments there.

The Container itself already detects such circular references at runtime.

So this fix is about circular references that are not detected at
compile time, and are not even detected at runtime because the code that
would cause the detection is never run (generated after a return
statement.)
[Form] Fixed regression causing invalid "WHERE id IN ()" statements
merged branch bschussek/issue8981-regression (PR #9001)

This PR was merged into the 2.2 branch.

Discussion
----------

[Form] Fixed regression causing invalid "WHERE id IN ()" statements

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

Commits
-------

867b81a [Form] Fixed regression causing invalid "WHERE id IN ()" statements
merged branch fabpot/circular-refs-php-dumper (PR #8999)

This PR was merged into the 2.2 branch.

Discussion
----------

[DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)

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

Commits
-------

ce7de37 [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
[FrameworkBundle] fixed registration of the register listener pass
[HttpKernel] added a check for private event listeners/subscribers
merged branch fabpot/event-services-check (PR #9006)

This PR was merged into the 2.2 branch.

Discussion
----------

Fixed registration of private event listeners/subscribers

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

When registering a private event subscriber/listener, the listener was just ignored.

This PR does two things to fix the problem:

 * the event listener pass is done earlier to get access to the private services
 * when a private service is identified, a proper exception is thrown

Commits
-------

8444339 [HttpKernel] added a check for private event listeners/subscribers
427ee19 [FrameworkBundle] fixed registration of the register listener pass
Merge branch '2.2' into 2.3

* 2.2:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/Process/Process.php