Cherry-pick bugfixes from master to FlexBridgeBeta

e5305c9 Initial Ibus 1.5 keyboarding changes from Eberhard
cfc5a6f Get keyboard switching to work on Ubuntu/Saucy (ibus 1.5)
c725f2f Fix duplicate insertion of characters from ibus on saucy
eb3fce0 Call the proper keyboard setup program for saucy
7d354e7 Remove or tweak debugging output in IBus keyboard area
1d24db4 Minor keyboarding code cleanup after review
764939a Simplify creating the IBus.InputContext for keyboarding
c83e7f7 Implement CombinedKeyboardAdaptor.ActivateKeyboard()
Merge pull request #18 from marksvc/keyboardingfixes

Cherry-pick bugfixes from master to FlexBridgeBeta
Don't crash if there are no ibus keyboards installed (FWNX-1382)

If IBus is running but there are no ibus input methods listed in
the IBus Preferences we shouldn't try to set an ibus keyboard. This
might actually fix FWNX-1382.

Change-Id: I0e9fc9dc8344bc75aa281b7bb8994a2af9c958ee
Don't compile Linux/CombinedKeyboardAdaptor.cs content on Windows

Also remove prior debugging check for tests - not needed?
Merge pull request #23 from ermshiperete/feature/FWNX-1382

Don't crash if there are no ibus keyboards installed (FWNX-1382)
Restore check for null m_ibus for benefit of TeamCity

This must be what is causing the test failures on TeamCity even though
there's no way I can see for it to happen.
(cherry picked from commit 1a678717b4e51d824fd8c9c8490a1ece9fb33a2d)
Remove leftover debugging output that is no longer needed
(cherry picked from commit 69b06542d9fbf704fe1061e33989a2d6f4594f39)
Merge pull request #25 from marksvc/fixtests

Merge additional commits necessary to fix test failures on TC: Fixtests
Provide connection during test

An approach to fixing a recent unit test regression.
May not be as appropriate in a "DoNothingIbusCommunicator".
Merge pull request #27 from marksvc/fixkb

Provide connection during test
Revert "Provide connection during test"

This reverts commit 1d822f1c9869fb8a4d4b6fd5ea61e180799b2610.
Revert "Don't crash if there are no ibus keyboards installed (FWNX-1382)"

This reverts commit a09887cd11472eee6c48032fbd338fa223b527c7.
Don't crash if there are no ibus keyboards installed (FWNX-1382)

If IBus is running but there are no ibus input methods listed in
the IBus Preferences we shouldn't try to set an ibus keyboard. This
might actually fix FWNX-1382.

This is an improved version of the previous reverted commit.
The additional changes will hopefully allow the tests to pass on TC.

Change-Id: I51518666648e516399c1f8426785469aaa1b263c
Merge pull request #30 from ermshiperete/FWNX-1382

Don't crash if there are no ibus keyboards installed (FWNX-1382)
Allow custom xkb keyboards to be displayed

Advanced users can define custom Xkb keyboard layouts for otherwise
unsupported languages/scripts.  Without this change, only the standard
system keyboards could be seen in our programs even though the system
could choose them through its standard setup software and input language
applets.
Fix keyboard layout loading for custom keyboards
More fixes for listing custom xkb keyboards on Linux
Fix fatal issue with corrupt settings files

* If a settings file is found to have bad xml due to some
  sort of corruption report it to the user then try to delete
  the file and carry on.
enabled strong naming for Palaso.dll
Fix LiftSorter to sort zero or more lift and lift-ranges files
(cherry picked from commit 399ef1aa01f5f57a3bdd7b2c44ad119fe1e16df4)