squash again all the commit.
component/bt: Change all the gattc API && bta gattc layer.
component/bt: Debug the code and change the btc_ble_gattc_get_db method.
component/bt: Change the gatt read API interface.
component/bt: Reconstruction the BTA_gattc_cache code.
component/bt: Change back the bluedroid_get_status to marco.
component/bt: Added the serch service res start_handle & end_handle to the result.
component/bt: Change the gattc docs format.
component/bt: Change the docs format.
component/bt: fix the read char value bug.
component/bt: change the gattc_get_attr_count method.
component/bt: Change back the bta_gattc write ccc code.
component/bt: Change the gattc api docs format
component/bt: Change the gattc API docs.
component/bt: Change the prepare write descriptor method to avoid the exection.
Component/bt: modify gatt clinet demo with new API
component/bt: Change the p_src_data->read.p_value to avoid exection.
compoent/bt: Change the bugfix of gattc unreg for the notify.
Modify gattc security demo
component/bt: Change the log error.
Component/bt: modify gattc_multi_connect demo
componnet/bt: Change the bta_gattc_cache sdp include.
component/bt: Change the start_handle & end_handle not from the service.
component/bt: Change the gattc API docs.
component/bt: Change the return issues.
component/bt: Fixed the include service bug.
component/bt: Modify gattc_multi_connect demo , add scan log
component/bt: Fixed the BTA_GATTC_GetIncludeService start handle & end handle error bug.
component/bt: Fix the invalid handle of the get all char issues.
component/bt: Fix the bug with get_db_size_with_type of the start handle & end_handle not correted issue.
component/bt: Fixed the get secondly service num not correct issue.
component/bt: Fixed the last service handle not correted issue.
1. change all gatt cb function to 3 args and function type. add gattc_if/gatts_if as second argument
2. delete gatt_if of "gatt cb param"
3. separate conn_id and gatt_if from conn_id
4. change the demo code as the gatt changed
1. Actually, btc & api are the same module thing. So the type defined in api header file can be included by btc c/h files.
Besides, why btc & api should be separated, because that user may be aware of api and api refer defines/types, rather than other non-refer things.
All defines/types that user won't use should be put in btc directory (and define with prefix "btc_"), and which will be used by user should be defined with prefix "esp_" .
2. rename attribute value(all is value, not data)
1. which named uuid is esp_bt_uuid_t type
2. which named id is xxx_id_t type, such as service_id_t char_id_t, include inst & uuid
3. share include directory