shared/gatt-db: Fix range handling in read by grp type.

This patch fixes bug in gatt_db_read_by_grp_type in which the range end handle
was being ignored. This caused incorrect results to be sent for a database
where services exists beyond the end handle provided in the request.
shared/gatt-server: Add functions for sending notifications/indications.

This patch introduces new functions for sending notifications and
indications as a GATT server.
TODO: shared/gatt-server notifications done.
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.
tools/btgatt-server: Populate the database.

This patch populates the GATT database with the GAP and GATT services.
Also added is a custom test service template.
tools/btgatt-server: Add command support and the notify command.

This patch adds a command REPL and introduces the "notify" command which
allows sending notifications and indications.
tools/btgatt-server: Add Heart Rate service simulation.

This patch adds a Heart Rate service to the database which simulates a
fake Heart Rate service implementation. The service can be enabled by
default by passing the '-r' flag to the executable.
tools/btgatt-client: DO NOT SUBMIT: Added "att" command for testing.