shared/gatt-client: Fix bug in service changed handler.

This patch fixes a bug in which "0" was passed as the start and end
handles of the service changed callback if no new service was found
within the range.
core: gatt: Handle Service Changed.

This patch adds handling for Service Changed events. All exported
objects that match attributes within the changed handle range are
unregistered and new ones get exported based on the newly discovered
services.