Bug 923577 - Ensure that we remove icons of hidden roles r=crdlc

When installing an application that is hidden, we have to make sure,
when updating the icon, that we remove it. This case happens especially
with packaged role system app, like, in this bug, a ringtones app. We
end up creating a temp icon (because we only have a updateManifest at
that time and cannot decide the role of the app) while downloading,
which is not removed once the app is finally installed.
Merge pull request #13106 from davidflanagan/autocorrect-config2

Bug 884752: make keyboard layouts and autocorrect dictionaries configurable at build time r=rlu,yurneju,pike(cherry picked from commit 9b0ea7a308cc99fb389e503c63dc7792692247c9)

Conflicts:

	Makefile
	apps/keyboard/js/layout.js
Merge pull request #13240 from davidflanagan/bug884752-v1.2

Merge pull request #13106 from davidflanagan/autocorrect-config2
bug 925970

* Final round of alignment changes. Unfortunately no time for anymore. It's as good as it's going to get for 1.2 and 1.3.

r=peterla
Merge pull request #13242 from nullaus/awesome-bar-ui

bug 925970
Bug 929785 - [Clock] Unable to scroll in Timer panel

Only certain UL elements should declared `overflow: auto`--those that
are explicitly intended to render with scrollbars when their content
exceeds their dimensions.

Other UL elements (i.e. the element that contains Timer settings in the
Timer panel) should not receive this declaration.

r=iliu
(cherry picked from commit 133814d71be018331c6e31fb954adfb6ef5a588b)

Conflicts:

	apps/clock/style/alarm.css
Revert "Revert "Merge pull request #12892 from comoyo/value_selector_inputcontext""

This reverts commit 276838e60f34b3ec251fe7e39d6b7ae2935144f1.
Merge pull request #13110 from RudyLu/keyboard/Bug925003_greekSMS_master_v1.2

Bug 925003 - Add a new keyboard layout, "Greek SMS" to allow sending mes...
r=djf, julienw (cherry picked from commit 50c5c530ffef00cb7b24d00e23cbed80210105d2)

Conflicts:
	apps/keyboard/js/layout.js
Bug 933181 - UnicodeDecodeError in XML report generation
Merge pull request #13248 from timdream/italian

Bug 893358 - Add Italian keyboard layout support r=djf(cherry picked from commit 4d468a5d00a02914fb440d50110a4e5e052adc8e)
Merge pull request #13262 from davidflanagan/bug893358-v1.2

Merge pull request #13248 from timdream/italian
Bug 912010 - [Keyboard][V1.2] Default Keyboard when all keyboards are de-selected - r=rlu r=garychen r=arthurcc

- Refactors `KeyboardHelper`
  - Renames the application method to `getApps`, which now caches response until the apps change
  - Adds a new API `getLayouts` to get a callback with an array of layouts.
  - Adds a new API `watchLayouts` to get a callback whenever layout settings or apps change
  - No longer calls `saveToSettings` itself when changing layout parameters.  This allows a consumer to batch operations before saving.
  - New method `checkDefaults` will make sure there is at least one `text` `url` and `number` keyboard enabled, calling the callback with anything it enabled.
  - +unit test suite.

- ManifestHelper now automatically returns a ManifestHelper for each object it contains
  - +unit test suite
  - now waits until access time to handle the language selection instead of creation time
     - this allows holding the one manifest helper and having its "name" property change with the language

- Settings Changes
  - Now uses `watchLayouts` from keyboard_helper
  - Now calls `checkDefaults` when disabling a keyboard
    - If a default is enabled opens a DefaultKeyboardEnabledDialog
  - Removed a bunch of commented out code for dealing with the old layout settings

- System Changes
  - Now uses `watchLayouts` from keyboard_helper
  - Will call `checkDefaults` whenever it can't find a keyboard to show, showing the default from `text` if it still can't find one

- Test suite
  - Moved some mocks to shared and updated require statements
  - Mock Settings now allows a "sync mode" that can call the callbacks for observers on demand.

Closes gh-12866
(cherry picked from commit ad0bf992cd379a32de18b9a4bb765757db8af986)

Conflicts:
	apps/homescreen/test/unit/homescreen_test.js
	apps/system/test/unit/homescreen_window_test.js
Merge pull request #13115 from RudyLu/keyboard/Bug928281-keyboard_OOP

Bug 928281 - Run keyboard app Out-of-Process (OOP). r=timdream(cherry picked from commit 9c6586d85d4340600ace0aa69f5741c5f3f67970)
Bug 931977 - [Keyboard] Ensure first keyboard shown is properly initialized - r=rudyl

- use the `setKeyboardName` during first keyboard load
- Renabled TBPL test

Closes gh-13192
(cherry picked from commit b6221a5ecdeb1252c42f6a7b5628c90c1888346b)

Conflicts:
	tests/python/gaia-ui-tests/gaiatest/tests/tbpl-manifest.ini
Merge pull request #12942 from flodolo/bug928347

Bug 928347 - Add missing strings in settings.en-US.properties, r=evelyn(cherry picked from commit 00069a6081f7be9464f3c28c09fc6cc640d8dd19)
Merge pull request #12986 from brendandahl/pdfjs-0.8.629

Bug 929059 - Update pdf.js to version 0.8.629.(cherry picked from commit 0ae839dd13dec1f4b13e6c9fde7d2899af7fe690)
Bug 910854 - [Clock] Reduce analog face resizing from 4 sizes to 3 sizes

r=jugglinmike
(cherry picked from commit 35f9bfb58c21b43b413eba97d35ae32d8690f4aa)
Merge pull request #12846 from rexboy7/fix-bug917344

Bug 917344 - [Dialer] Turn off speaker if bluetooth headphone is connect...(cherry picked from commit 7d7864ce51f3faac0f8f55e487a10ba5b58d226c)
bug 894270 - [Dialer] switch photos correctly when switching calls.
              Show detail info of participants correctly on multi-calls.
(cherry picked from commit ad79e2a2b3076c74d7ebbca402723e2a3d7254cb)
Merge pull request #13165 from rexboy7/fix-bug930944

Bug 930944 - [System] Don't turn screen off after poweroff animation(cherry picked from commit 1a5daa90ac49e1e83dc7902acc461acdb3606dde)