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
I would suggest to assign the bound version of the function it to a variable with a different name as it is a little bit confusing when the code base grows.