Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4

* 'PHP-5.4' of git.php.net:php-src:
  Fixed bug #66060 (Heap buffer over-read in DateInterval)
Fixed bug #53879 (DateTime::createFromFormat() fails to parse cookie expiration date)
Merge branch 'bug53879' into PHP-5.4
Merge branch 'PHP-5.4' into PHP-5.5
Fixed "Forward Transition" construction of DateTime objects.

This fixes the issue in
https://wiki.php.net/rfc/datetime_and_daylight_saving_time#forward_transitions
There is a period during transition to DST where a time (such as 02:30) does
not exist. PHP already calculated the correct timestamp for this, but failed to
"rounded forward" to the existing correct hour value.
Always reset those parameters.
Fixed forward transitions in diffs.
Group those tests a bit better, as some of the bd ones wanted a "ST" feature that doesn't exist yet.
Split up tests into their different categories.
Fix backwards transition diffs.
Move add/sub to timelib.
Fixed a few DST changeover issues.
Marking those two as XFAIL for now.
Merge branch 'date-time-dst-rfc' into PHP-5.4

This is a partial resolve of some DST issues, plenty of things to do, but as
this *does* fix a few issues it's worth merging it already.
Merge branch 'PHP-5.4' into PHP-5.5

Conflicts:
	ext/date/php_date.c
Fixed bug #65199 (Wrong Day of Week) and fixed bug #63391 (Incorrect/inconsistent day of week prior to the year 1600)
Merge branch 'PHP-5.4' into PHP-5.5
Added validation of class names in the autoload process
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Added validation of class names in the autoload process
Fixed bug #65768: DateTimeImmutable::diff does not work

This commit also prevents user classes from directly implementing
DateTimeInterface, because ext/date relies on classes implementing
it to support certain internal structures.