ignore deprecation errors
Basic specification for `DocumentManager#transactional()` with succesful transaction and callback execution
Basic specification for `DocumentManager#transactional()` with succesful transaction and callback execution
Basic specification for `DocumentManager#transactional()` with an invalid callback to be rejected
Basic specification for `DocumentManager#transactional()` with a callback that throws an exception
Basic specification for `DocumentManager#transactional()` with no transaction support (silent callback execution)
`DocumentManager#transactional()` should call the callback with the document manager as first passed in parameter
Adding documentation (imported from `Doctrine\ORM\EntityManagerInterface`)

Ref: https://github.com/doctrine/doctrine2/blob/5a6bbbd6241d803b686a13a0c373e0febe656987/lib/Doctrine/ORM/EntityManagerInterface.php#L70-L83
Clarifying on when `InvalidArgumentException` is thrown
`DocumentManager#transactional()` should auto-flush for ORM consistency
`DocumentManager#transactional()` should not auto-flush for invalid cases
`DocumentManager#transactional()` should also flush when no transaction support is given
Implementing auto-flush support in `DocumentManager#transactional()` as per specification
Minor cleanup as of @dbu's review