Avoid calling expensive methods before checking if we need to

There’s no need to create the full $record structure before checking for handlers. This can be called inside a loop, and Datetime::createFromFormat() is very expensive.
The issue with this is that it now assumes that handlers are only using the level to decide whether they are handling a record. This is a BC break.

And we even have some code in MonologBundle which relies on this feature: https://github.com/symfony/MonologBundle/blob/cff4dc5326530b1abdde7a2369645d8599c24dd3/NotFoundActivationStrategy.php