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.