(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 would consider

```c
void
mongoc_client_observer_trigger_command_callback (const mongoc_client_observer_t *observer,
                                                 const bson_t *command,
                                                 const char *ns);
```

and if observer is `NULL`, then use the default `clientObserverVtable`. That would make it handy if there is a need to have more granular callbacks per client.