[DomCrawler] Fixed charset detection in html5 meta charset tag
bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)

This PR was squashed before being merged into the 2.3 branch (closes #10983).

Discussion
----------

[DomCrawler] Fixed charset detection in html5 meta charset tag

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

It may be minor to folks with ascii-charactered language, but is critical for us Japanese.
Many Japanese websites with SJIS encoding have "Shift_JIS" as their encoding declaration.

Commits
-------

172e752 [DomCrawler] Fixed charset detection in html5 meta charset tag
updated CHANGELOG for 2.5.0-RC1
updated VERSION for 2.5.0-RC1
bumped Symfony version to 2.5.0
fixed CHANGELOG for 2.5
[Validator] Remove property and method targets from the optional and required constraints.

At the moment both constraints can only be defined on other annotations (specifically, the Collection annotation). Defining the required or optional annotation directly on a field or method throws a ClassNotFoundException, since the constraint validator factory tries to load the validator (which does not exist).
bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)

This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Remove property and method targets from the optional and required constraints

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

At the moment both constraints can only be defined on other annotations. Both constraints are [only mentioned in the docs in the context of the Collection](http://symfony.com/doc/current/reference/constraints/Collection.html#required-and-optional-field-constraints).

Defining the required or optional annotation directly on a field or method
throws a ClassNotFoundException, since the constraint validator factory tries to load the validator (which does not exist):

```
ClassNotFoundException: Attempted to load class "OptionalValidator"
from namespace "Symfony\Component\Validator\Constraints"
in /var/www/server/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Validator/ConstraintValidatorFactory.php line 71.
Do you need to "use" it from another namespace?
```

By applying this patch the end user will get a more helpful error message:

```
[Semantical Error] Annotation @Assert\Optional is not allowed to be declared on property Acme\DemoBundle\Entity\Contact::$message.
You may only use this annotation on these code elements: ANNOTATION.
```

Commits
-------

9c2616e [Validator] Remove property and method targets from the optional and required constraints.
Merge branch '2.3' into 2.4

* 2.3:
  [Validator] Remove property and method targets from the optional and required constraints.
  [DomCrawler] Fixed charset detection in html5 meta charset tag
Merge branch '2.4' into 2.5

* 2.4:
  [Validator] Remove property and method targets from the optional and required constraints.
  [DomCrawler] Fixed charset detection in html5 meta charset tag
Merge branch '2.5'

* 2.5:
  [Validator] Remove property and method targets from the optional and required constraints.
  fixed CHANGELOG for 2.5
  bumped Symfony version to 2.5.0
  updated VERSION for 2.5.0-RC1
  updated CHANGELOG for 2.5.0-RC1
  [DomCrawler] Fixed charset detection in html5 meta charset tag
[Debug] enhanced error messages for uncaught exceptions