Bug 1055897 - [settings] add settings panel support

It is not required to wrap all of the code in the promise as the following code. Please simply do `return self._transit('open', dialog, options)`.