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 #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)
Merge pull request #13090 from etiennesegonzac/bug-917222-dialing-twice

Bug 917222 - Making sure we're never dialing the same number twice. r=rik(cherry picked from commit d3173ac843208ce14cd74aba5c0420c50b81b4a1)
Bug 925961 - Use the email address parser for showing bubble properly.
(cherry picked from commit e363d38cde26a6416cb9926c04896866bba4b88a)
Bug 914593 - Only show search engine selection if more than one search engine defined
(cherry picked from commit feeb41a4d8c249ee06bbf8e8e3b643bc4d217e35)
Merge pull request #13189 from fcampo/bt-imported-contacts-925858

Bug 925858 - Received contacts from Bluetooth are not shown on the contact list (r=bkelly)(cherry picked from commit c15445e4c5ee863a5c9ac377553d290ab428f314)
Merge pull request #13228 from fcampo/export-retry-928990

Bug 928990 - Retry on export error takes to wrong screen (r=bkelly)(cherry picked from commit f04deda9c1df3acffe53e3105a09884be6df24f0)
Merge pull request #13173 from crh0716/929792

But 929792 - Add a observer on keyboard name changes r=evelyn(cherry picked from commit cfe7247433555a81d9347dbc0c3e258a7dbcbadc)
Merge pull request #13158 from crh0716/911701

Bug 911701 - Show data signal strength when connecting to EVDO r=alive(cherry picked from commit 974eb062c9ca51d770de51bb2e9c9cce1c4ed5f2)
Merge pull request #13252 from mpizza/Bug_930817_fitText

 Bug 930817 - [B2G][1.2][l10n][Keyboard] Long words in the Auto Correct ... r=rudyl.(cherry picked from commit 412fd463bcb81f0e8bebf6d32500d0c02712748d)