Fixed bug in ChoiceType triggering a warning when not using utf-8

This fixes issue #10409 by not using json_encode anymore, but serialize
instead.
Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
fixed CS
[Form] Added check for parent disabled status in Button form elements

The Button form element did not check for the parent disabled configuration status,
making them behave differently to all other form widgets.
[Form] Added test for disabling buttons
[Form] Improved test coverage of UrlType
Merge branch '2.3' into 2.4

* 2.3:
  Update MimeTypeExtensionGuesser.php
  [Templating] PhpEngine should propagate charset to its helpers
  Fix ticket #10663 - Added setCharset method call to PHP templating engine.
  Changed the typehint of the EsiFragmentRenderer to the interface
  [Form] Improved test coverage of UrlType
  [BrowserKit] Fix #10641 : BrowserKit is broken when using ip as host

Conflicts:
	src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
	src/Symfony/Component/Templating/PhpEngine.php