add base events class

Hi,

All doctrine projects implements events. A lot of them are similars, but there is no base class defining common Events.

I tried to gathen them all in this PR. I looked into ```CouchDb-orm```, ```doctrine-orm```, ```doctrine-mongodb-odm``` and ```phpcr-odm```. 

I only added events present in all packages, but CouchDB is the only one to not implement some events implemented in every other packages (```postPersist```, ```loadClassmetadata```, ```preFlush```, etc.).
The update can be done the moment we the ORMs and ODMs implements those Events. 
The only think to do would be something like 
```diff
- $metadata->addEntityListener(\Doctrine\ORM\Events::preUpdate, 'CompanyContractListener', 'preUpdateHandler');
+ $metadata->addEntityListener(\Doctrine\ORM\Events::PRE_UDATE, 'CompanyContractListener', 'preUpdateHandler');
```

It is just a little more complicated becaus it is not plug and play, but once the name are set, they will never be changed, so I vote for a PSR2 naming too.