[Security] Add SimpleForm authentication
[Security] Add simple_token auth method
[Security] Renamed simple_token to simple_http, added support for failure and success handler to both simple firewalls
fixed wrong Logger interface
moved the simple HTTP authenticator to a pre-auth one
[Security] allowed simple pre-auth to be optional if another auth mechanism already authenticated the user
marked some classes as being experimental in 2.3
[HttpFoundation][NamespacedAttributeBag] Refactoring of resolveKey() method
[Console] Added status code to CommandTester and ApplicationTester

Theses classes are already statefull. They contain the input and the
output data. So we can safely add the last status code to the class.
updated version to 2.4
Merge branch '2.3'

* 2.3:
  Added missing column to the form's table layout
  Bumped Icu dependency to RC
  Update validators.ru.xlf
  remove check for PHP bug #50731
  adding missing Farsi translations
  Revert "merged branch armetiz/master (PR #8045)"
[Console] Add clear() to ProgressHelper.

One may want to print something else while the progress bar is running.
The output will be messy if the progress bar is not removed first.

One may also want to remove the progress bar after the work is complete.
[Console] ensure integer exit codes in events
merged branch Tobion/console-event (PR #8038)

This PR was merged into the master branch.

Discussion
----------

[Console] ensure integer exit codes in events

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

Commits
-------

fe1db71 [Console] ensure integer exit codes in events
Fixed two bugs in HttpCache

1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified.  Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set.  If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered.  I solved this problem by moving the
Response::isModified call after the Response::prepare call.  I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.

2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers.  Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.
merged branch jdesrosiers/ticket_8097 (PR #8098)

This PR was submitted for the 2.0 branch but it was merged into the 2.1 branch instead (closes #8098).

Discussion
----------

[HttpKernel] Fixed two bugs in HttpCache

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

1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified.  Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set.  If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered.  I solved this problem by moving the
Response::isModified call after the Response::prepare call.  I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.

2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers.  Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.

Commits
-------

a4251bd [HttpKernel] Fixed two bugs in HttpCache
[Console] Add namespace support back in to list command
Added type of return value in VoterInterface.
merged branch richsage/voterinterface-docblock-type (PR #8117)

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

Discussion
----------

[Security] Added type of return value in VoterInterface.

| Q             | A
| ------------- | ---
| Fixed tickets | none
| License       | MIT

Simple addition of the return type for the `supportsClass` method, as per the `supportsAttribute` method doc in the interface.

Commits
-------

c176d1e [Security] Added type of return value in VoterInterface.
[Form] [2.3] removed old option