Use newInstanceWithoutConstructor when available.

Changed ClassMetadataInfo::newInstance to always use ReflectionClass::newInstanceWithoutConstructor when available, not just for specific versions. 

As discussed here: https://github.com/doctrine/doctrine2/commit/530c01b5e3ed7345cde564bd511794ac72f49b65#commitcomment-6635975

It also calls `__wakeup` when available because some libraries (Typo3) rely on it. https://github.com/doctrine/doctrine2/commit/530c01b5e3ed7345cde564bd511794ac72f49b65#commitcomment-6645339 

Be sure to also read my point about why this is better: https://github.com/doctrine/doctrine2/pull/1056#discussion_r13665544