Bug 998847 - [Settings] refactor storage.js with AMD pattern

- move dialog into root panel
- rename id to class
- fix marionette test
- un-registered observer when leaving the panel
- add enabled to observer/unobserve
- create separated modules for each menu item
- move usb and media item together
- fix binding
Although it may not fail the test case, it seems better to set this default value before stubbing the functions so that it won't affect the state of the stubs.