Support MongoDB::createCollection() options array (driver 1.4+)

Both call patterns are supported in Database::createCollection(). CreateCollectionEventArgs is also modified, although the original methods are left in place and deprecated.
Clean up event fields and add unit tests

This adds options fields to events where appropriate, with a default value to preserve BC.
Improve find/update events and use MutableEventArgs for post listeners

With the addition of FindEventArgs, find events will not receive the field projection in addition to the query. UpdateEventArgs now has options.

A new MutableEventArgs class was created to allow Collection query/command results to be modified by the post event listeners (as requested in #94).

Finally, CollectionEventsTest was created to test all pre/post events dispatched by Collection methods.