src/shared/att: Add boilerplate for notification callbacks.

This patch adds new functions to src/shared/att.h that allows users to
register callbacks which whill get invoked for incoming notifications
and indications.

For indications and incoming requests, the local client/server is
expected to send a response. This will be achieved via bt_att_send, with
the same control-flow semantics as commands.
src/shared/att: Added support for notifications/indications.

This patch adds support for notifications and indications, so that
registered notification callbacks will get invoked whenever an ATT
notification or indication is received.

The specification requires a Handle Value Confirmation PDU to be sent by
a client in response to an indication. This patch doesn't handle this.
Added TODOs to figure out whether or not bt_att should automatically
send a confirmation or whether or not this should be left up to the
higher layer.
unit/test-att: Added test cases for notifications/indications.

This patch adds unit tests for notifications/indications.
tools/btatt: Add "monitor" command.

This patch adds the "monitor" command, which registers a
notification/indication callback and prints a message whenever a
notification or indication is received.