Add support for PHP native DateTime

This is a followup to #81.

In the spirit of #106 I have removed the configuration option. I have also implemented support for type hinting for methods which accept DateTimes arguments.

I have also implemented actual(!) unit tests for this. In the process I have refactored base classes for tests. Assertions related to code generation and inspection have been moved to a shared base class for unit testing.