Add characteristics command

With that command we can iterate over all characteristics of specific
service.
Implement get_characteristic_callback

When we run characteristics command, this tool will iterate over all
characteristics of specific service. The result of that command will be
handled at get_characteristic_callback.
Add characteristic cache

In order to know which characteristic user wants, we are going to store
in a static buffer and show an ID to each one. This makes user's life
easier than type every characteristic field.
Split characteristic storage buffer in per-service buffers

This commit creates a service_info struct and a char_info struct. The
service info struct stores service information and a buffer of char_info
structs that will store information about characteristics of that
specific service. In the future the char_info struct will be extended to
store a buffer with information about the descriptors of that specific
characteristic.

The characteristics buffers grow on demand, instead of allocating a
128-entries buffer for all characteristics of the remote we now allocate
a 8-entries buffer per service and grow it with realloc if needed.