(WIP) CDRIVER-400 Add a customizable client callback table

Basic skeleton for a customizable callback table, primarily for use by the PHP driver.  Some things:

-need to figure out what callbacks we need
-need to figure out best places/multiple places to include triggers
-I'm sure I've massacred the style on this
I think it's better to leave the callback function pointers null in the observer and have that mark that we don't want anything called.  no need for no-op defaults