Implement RequestMode? method.
Requirements:
- It can only set "connectable" or "discoverable" modes.
- Session can temporary request a higher mode than the global mode.
- By the time a session is active discoverable timeout is not enabled.
- It supports multiples applications, the higher requested mode prevail.
- Requested modes should be accepted by agent every time a higher mode is requested.
- All requests are appended to a list, the session will live until
the last application releases it.
- After the last application using the session exit the mode changes back to global mode.
- SetMode/SetProperty?("Mode" takes effects on either session mode
and global mode if it is higher and just in global mode if it is lower asking the agent if the application can lower session mode.