Bugfix for #66091: memory leak in DateTime::createFromFormat() and friends

This fixes [#66091](https://bugs.php.net/bug.php?id=66091).

It addresses the somewhat odd memory allocation and teardown that's done in the constructors when parsing fails; it affects `date_create()`, `date_create_immutable()`, `date_create_from_format()` and `date_create_immutable_from_format()`.

One test case needed to be updated due to differing object id's.

This PR supersedes #766