Bluedroid use a set of timer function pairs such as btu_start_timer/btu_stop_timer, btu_sys_start_timer/btu_sys_stop_timer for use, in a lack of timer release functions. Thus the timers may be exhausted after some event sequence such as repetition of connection/reconnection with different devices. The maximum timer number used in bluedroid is given by ALARM_CBS_NUM which is 30 for now. This bugfix borrowed some update from bluedroid in Andoroid 7.0, which add timer release functions which promote the recycle of timer resources.
# Conflicts:
# components/bt/bluedroid/stack/btu/btu_task.c
# components/bt/bluedroid/stack/gatt/gatt_main.c
# components/bt/bluedroid/stack/rfcomm/port_utils.c
# components/bt/bluedroid/stack/rfcomm/rfc_utils.c
1. remove GKI(not use osi_free_and_reset)
2. modify mutex/semaphore to individual directory
3. set osi_malloc as malloc(previously use calloc)
4. change osi allocator debug osi_free
5. fix rebase of remove GKI
1. fix the exception of deinit/disable
2. debug mem leak of deinit, fix some memleak, but still something wrong.
3. debug men leak of disable.
4. add bluedroid memory debug
2.modified the thread.h file==> added the profile task event in it
3.modified bt_prf_task.c==>added the ready function in it
4.added the bt_prf_sys.h file
5.remove the profile_sys.h file
add bt_prf_task.h for defined the data & struct used for the profile task
add prodile_sys.h defined the profile system data used for profile task
modified component.mk