- introduced EventListenerContext, a data container that is used to pass data to beforeUpdate and other before#### and after#### decorated methods, as an optional parameter
- added afterSave, afterUpdate, afterRemove, beforeUpsert
- added tests
- replaced methods returning old and new documents as an array with a new return type ArangoNewOldResult that also has new and old as properties