Fall back to DateTime::__construct() in date mutators

For example, when using `CURRENT_TIMESTAMP` as a column's default value with Postgres, microseconds are included, causing an `InvalidArgumentException` from `Carbon`.

This is slower, but more flexible in detecting the correct format before failing.

See laravel/laravel#3009 for original bug report.

**Note** There was one test failing already when I forked, but the test I added for this particular case is passing with my changes.
As the same code is repeated, it should probably go in its own function ?