shared/gatt-server: Hold a reference to gatt-db.

Now that gatt-db is reference counted, gatt-server should hold a
reference to it.
shared/gatt-db: Add service added/removed events.

This patch adds support to gatt-db for sending events when services are
added to and removed from the database:

  1. Added the gatt_db_register function which can be used to register
     service_added and service_removed callbacks.

  2. Added the gatt_db_unregister function which can be used to
     unregister previously added callbacks. This function can be safely
     called from within a service added/removed callback.

  3. The service added/removed callbacks are tied to
     gatt_db_service_set_active. The added callback is called when a
     service gets marked as active and vice versa.

  4. The service_removed callback will get called if a service is
     removed from the database.
tools/btgatt-client: Observe service events.

tools/btgatt-client now registers service added/removed callbacks in
which it logs a message about the affected service.