Add possibility to create a DateTime object with timezone

or the class will first initialize an object with a timezone, issue the strict warning and the timezone could be changed later
We don't want the warning.

The slow test didn't match php before but does now.
The zend test is clowny in my opinion. It tests for error position, that should have wildcards.
We mathc php7 in this case.

Closes #3650

Test Plan:
`zend/good/ext/date`
`slow/ext_date` `slow/ext_datetime`