[bluetooth] refactoring code

* Add CAPI() and CAPI_SYNC() macros :
In order to handle Tizen CAPI in a generic way. If CAPI call returns
an error, a JSON post message is directly sent back to JS.
If CAPI call returns no error, reply id is stored in order to be
reused to finalize the JS async call.

* All reply ids are stored in reply_id_map_ associated with the
JSON message cmd.

* Add specific methods to send JSON messages to JS:
  - PostAsyncReply() method is used for JS async calls.
  - SendCmdToJs() method is used to independently update JS state.
    For instance it allows to update Bluetooth web API state
    when BlueZ is attacked externally to Tizen CAPI.

* Remove several useless variables/methods.

Also fix XWALK-2832 and XWALK-1334
@zolkis, I had to look to what you did in callhistory extension but I won't be able to do the same things except if I modify Bluez backends to not send JSON string errors instead of JSON double errors.
I will propose an update with cleaner error handling in js on next week.