[Application] Added permission getter/setters in applicaiton

Added session and persistent permission getter/setters. Also moved
permission policy manager into application system. Moved permission
initialization logic out of application data, i.e. the application
data won't initialize itself.
[Application] Add permission check logic in application

* This method is used to check API Control. It queries permissions
 actions from policy storage and tell the result to extension.
[Extension] Add API for Check API Access Control

This API is for external extension developer. The API need to be called in the
implementation of each exported API in C or C++ code. For C extension
implantation, header file "public/XW_Extension_Permissions.h" should be
included. For each API that need access sensitive data, developer should call
CheckAPIAccessControl for API control. For C++ extension implantation, header
file "xwalk/common/xwalk_external_extension.h" should be included.

The basic flow of API access control is as below:
1.when render process execute a JS API which need access sensitive data
of device, render process send a message to extension process
2.in extension process API's implemetation, it should call
  checkAPIAccessControl, which will call PermissionsDelegate
  (which is in also extension process).
3. extension process send a message to browser process.
   XWalkExtensionProcessHost -> XWalkExtensionProcessHost::Delegate
   (which is XWalkExtensionService) -> XWalkExtensionService::Delegate
   (which is XWalkAppExtensionBridge) ->xwalk::application::
   ApplicationService::CheckAPIAccessControl().
[Extension] Added APIs for permission-function register.

The runtime permission mapping is registered by extension which
implements some specific API, for example: "bluetooth" ->
"bluetooth.read, bluetooth.write, bluetooth.management" Whenever there
comes a API permission request, we can tell whether this API is
registered, if yes, return the according permission name.