use base lifecycle event
Depend on doctrine/common 2.4.x and related libs
Refactor event classes to extend common base classes

OnClearEventArgs and ManagerEventArgs can extend their common base classes.

preLoad is a lifecycle event, so PreLoadEventArgs should extend LifecycleEventArgs.
Merge pull request #459
Fix infinite loop in unit of work on bidirectional references with discriminator maps
Inline UoW::addDependencies() and make consistent with ORM

Replacing the recursion with the inline version used by ORM. The continue logic is changed slightly to allow any owning side associations (all embedded relations are owning side) that have a target class defined. We also replace the recursive call with an additional append to $newNodes after adding the class to the CommitOrderCalculator (this was previously done when adding sub-classes but never after adding the target class.

This implementation also fixes the bidirectional inheritance test and infinite loop discussed in #693.
Remove obsolete UoW::addDependencies() method
Merge pull request #697 from doctrine/fix/gh693

Fix infinite loop in UoW with bidirectional inheritance dependencies
Fix orphan removal on collection clear and embed relations with references
Refactor orphan removal test assertions and comments
Merge pull request #694
Use separate Cursor property for ODM's UoW hints

This depends on doctrine/mongodb#105 being merged into a stable 1.1.x release of doctrine/mongodb.
Remove $cmd args/properties

See: https://github.com/doctrine/mongodb/commit/cd3b60138d711221e4fe0ae1c06611fd8fedbac2
Specify field for Query::debug() output

See: https://github.com/doctrine/mongodb/commit/1ea8ddc066307f30b0a73cf49d19612285547081
Misc test fixes for doctrine/mongodb 1.1.x

Handle ArrayIterator results for commands, fix geospatial tests, and use array argument for notIn() method.
Update Cursor/Builder/Query constructors and delete LoggableCursor

Updated the constructor signatures for Cursor, Builder, and Query classes. See: https://github.com/doctrine/mongodb/commit/39a2b7c7567b4609a58f3ea3f408d872fdbb7440#diff-10

ODM's LoggableCursor class only served to log sort() calls with unprepared field names. The wrapped LoggableCursor already logs its own sort() call (with prepared field names).
See: https://github.com/doctrine/mongodb/commit/39a2b7c7567b4609a58f3ea3f408d872fdbb7440
Check Query::$query fields before access

See: https://github.com/doctrine/mongodb/commit/f19c70bbd5359c0aba2f320c800a6c24627aeb78
Use Query::TYPE_GEO_NEAR constant (old constant is deprecated)

See: https://github.com/doctrine/mongodb/commit/9d0dde013a80aecf604c27eae701fc710aa6a921 and https://github.com/doctrine/mongodb/commit/25a8025829b1fcbdd83d8d743e7166f4560d2640
Extend base EagerCursor class

EagerCursor::next() will now return nothing, which conforms to the Iterator interface.
Add Cursor read preference methods and set UoW hints

Set the cursor hint after calling the base method (likewise for the slaveOkay() method)