Make DateTime and DateTimeImmutable siblings.

They both implement the DateTimeInterface interface, which specifies the
non-modifying methods of DateTime/DateTimeImmutable.
Merge branch 'splitting-out-date-time-immutable' into PHP-5.5
Merge branch 'PHP-5.5'
Bug 54567 DateTimeZone serialize/unserialize
Make DateTimeZone serializable and implement __set_state
Fixed the test to use %d instead of an actual number
Made separate tests for each TZ type
Fixed handling of unserializing types 1 and 3
Rebased to PHP-5.4
Implemented Dmitrys change from df97c3aa0d331be668bd5d8f27fff96d4e3ac1d7
Moved the timelib_parse_tz_cor function to ext/date/lib/timelib.c
Added the new .c files as well as they are not automatically regenerated.
Merge branch 'PHP-5.5'
Bug #60774 (DateInterval::format("%a") is always zero when an interval is
created using the createFromDateString method)
Updated test case and added BFN to NEWS.
Merge branch 'PHP-5.5'