[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
This error handling needs some rethinking, over the whole file. Looks quite messy. If you'd get INVALID_VALUES_ERR from the extension, you could simplify things a lot.

if (result.error != NO_ERROR) {
  var error = new tizen.WebAPIError(result.error);
  errorCallback(error);
}