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
Applied review's comments
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