Merge pull request #11792 from lodr/bug-906756-changing-algorithms

Bug 906756 - Algorithms for merging givenName and familyName changed.
r=arcturus
Revert "Bug 898666 - [clock] Clock refactor alarm object and add test"

This reverts commit 3746b1cdc0e344460c58cd52f85564b0c4f5940a due to a
UI regression in the ordering of Alarm list items.
Bug 910722 - JavaScript linting rules are too strict

r=rik
Revert "Merge pull request #11751 from rexboy7/fix-bug900838"

This reverts commit 92d9a334d52514ac521ac0bb39add28e373bcc33, reversing
changes made to 92b79a2dfe09d950e3789247a21e13083116ec0a.
Revert "Bug 910722 - JavaScript linting rules are too strict"

This reverts commit 5db143d5aa532aacbc1522c885ad38849ebd20b9.
Bug 887663 - Receiving contact as a VCARD via Bluetooth
Bug 898666 - [clock] Clock refactor alarm object and add test

(Rebased with UI regression fix for alarm ordering.)

1. An Alarm constructor is used to create new Alarms, instead of
   creating new object literals.
2. The AlarmsDB API is changed to pass error messages in the
   function(err, value) {...} style.
3. Asyncronous API calls are checked using callbacks. The async
   functions in Utils make this easy (although including async.js
   would be easier.
4. Testing is added for the Alarm object.
5. Added mock_alarmsDB and mock_mozAlarms for testing Alarms
6. Fixed alarm_edit tests. Moved to a new alarm_edit_test.js file.
7. Add tests for new utils methods (async and safeCpuLock)
8. Rename some variables. Remove "_name" naming scheme.
9. Removed in app alarm set indicator
10. Protect id, repeat, and enabled properties on the Alarm object.

r=jugglinmike
Bug 910313 - [Clock] Generate DOM from markup source template interpolation. r=jugglinmike r=gnarf r=djf

https://bugzilla.mozilla.org/show_bug.cgi?id=910313

- Moves Utils.Template from Messages (apps/sms) to shared/js
- Renames Utils.Template => Template
- Moves Template tests to apps/system/test/unit/ (template_test.js)
- Updates usage in Messages
    - Replace Utils.escapeHTML() with Template.escape()
    - Replace Utils.Template with Template
- Implements Template in Clock
    - Replace markup string in program code with template calls
- Make desktop friendly
   - check mozSettings
   - use mozAlarms mock

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Bug 802944 - Reply button should popup select menu for deciding reply mode instead of listing all the reply mode button in title r=asuth
Bug 910975 - Update shell.js webapps event
Merge pull request #11868 from KevinGrandon/bug_910975_update_shelljs

Bug 910975 - Update shell.js webapps event r=fabrice
Merge pull request #11793 from mcav/reply-menu-bug-802944

 Bug 802944 - Reply button should popup select menu for deciding reply mode instead of listing all the reply mode button in title. r=asuth
Bug 901926 - [Email] Email app stops working if attachment contains an IMAP literal. r=asuth
Merge pull request #11869 from mcav/imap-parsing-bug-901926

Bug 901926 - [Email] Email app stops working if attachment contains an IMAP literal. r=asuth
Merge pull request #11813 from fcampo/BT-receiveVcard

Bug 887663 - Receiving contact as a VCARD via Bluetooth (r=arcturus)
[Bug 908513] fix shortcuts translations issue [r=crdlc]
Merge pull request #11836 from EverythingMe/bugfix-shortcuts-translations

[Bug 908513] fix shortcuts translations issue [r=crdlc]
Bug 816912 - Keyboard Manager to support 3rd-party keyboard
    1. manage running keyboard layouts in System app
    2. generat new mozSettings array for keyboard app, setLayoutEnable
and saveToSettings fn in keyboard helper.
    3. keyboard helper will send 'keyboardsrefresh' event when
'mozSettings' change.
    4. Bug 885692 - To integrate with the new keyboard switching API. for km
    5. Bug 902830 - Use new chrome event for keyboard manager.
r=timdream
Bug 858383 - [Keyboard] Integrate the new keyboard manager with switch
and show layout list functions in Keyboard app.
 1. Modify keyboard manifest to expose entry points as input methods.
 2. Modify keyboard init logic to interact with new keyboard manager.
 3. Make use of inputContext in keyboard app.
 4. Bug 885692 - To integrate with the new keyboard switching API. for keyboard app
 5. Bug 899073 - inputContext.geText() whould return Promise
r=timdream
Bug 856910 - Add MVVM pattern in settings app. r=evelyn