shared/gatt-server: Implement "Read By Type" request.

This patch implements the ATT protocol "Read By Type" request for
shared/gatt-server. Logic is implemented that allows asynchronous reading of
non-standard attribute values via the registered read and read completion
callbacks.
shared/gatt-server: Implement "Find Information" request.

This patch implements the "Find Information" request for the GATT server role.
shared/gatt-server: Implement "Write" request and command.

This patch implements the "Write" request and command for the GATT server role.
Writes are delegated to the attribute's write handler, which is also responsible
for performing certain permission checks.
shared/gatt-server: Implement "Read" request.

This patch implements the "Read" request for the GATT server role.
tools/btgatt-server: Introduce btgatt-server.

This patch introduces tools/btgatt-server, which is a command-line tool for
testing and debugging shared/gatt-server.
tools/btgatt-server: Accept incoming connection and initialize server.

This patch adds code that listens for incoming connections and creates a
bt_gatt_server and bt_att structure once a connection is accepted.
IN PROGRESS: Populate DB
tools/btgatt-client: DO NOT SUBMIT: Added "att" command for testing.