Bug 725409 - Modules should have metadata to specifying applications' compatibility

- Added `engines` property to metadata
- Replaced manual exceptions for unsupported application in modules
- Modified cuddlefish and loader to enable parsing module's metada during module loading
- Added methods to `xul-app` to verify the applications' compatibility
- Update unit testing
adding a test for bug 804935 window.tabs dne error
worker.tab now works in addons that do not require the windows or tabs modules
Applied review's comments
Set menu-iconic and menuitem-iconic classes when necessary.
document cfx testaddons
Fix Bug 810741 TEST FAILED: test-windows.testWindowTabsObject (failure)
Merge pull request #733 from erikvold/810741

Fix Bug 810741 TEST FAILED: test-windows.testWindowTabsObject (failure) r=@erikvold
Merge pull request #732 from erikvold/832632

Fix Bug 832632 document cfx testaddons
Merge pull request #720 from erikvold/804935

Bug 804935 window.tabs is undefined r=@zer0
Merge pull request #729 from Mossop/bug831643

Bug 831643: context-menu image missing when using SDK > 1.12
Clarified where the sandbox are loaded and why we unload them, as specified by the review's comment
Merge pull request #700 from ZER0/metadata/725409

Fix Bug 725409 - Modules should have metadata to specifying applications' compatibility r=@gozala
making review changes, and adding a simple test of default state for pwpb
Merge branch 'master' of https://github.com/mozilla/addon-sdk into 777823v2