Keyboarding: Getting available keyman keyboards

This patch integrates getting available keyman keyboards on Windows
into the Keyboarding library. It also adds functionality for
(de-)activating system and keyman keyboards on Windows.

Change-Id: I8820c172095de1b63d5caa39a193aeef4908be37
Keyboarding: use same interface on Windows + Linux

Use IViewInputMgr on both Windows and Linux to allow C++ code to
access input methods/keyboards. On Linux we use a managed
implementation, on Windows we modified VwTextStore slightly
to implement this interface. Also some cleanup and refactorings.

Change-Id: I2b71e384b8b33c5457ead1e43c034784fb3ee8e5
Keyboarding: Implement getting active keyboard on Windows

Change-Id: Ifb2dcca36a3acdf456776e83adecf414fd923bb6
Keyboarding: Remove KeyboardHelper

Use functionality of keyboarding library instead.

Change-Id: Ic2228b22dde098240a0ea82b50ab487325645d3f
Keyboarding: Remove IIMEKeyboardSwitcher interface

This interface is no longer needed. Also LgKeymanHandler is now
only used on Windows, so it got excluded on Linux.

Change-Id: Ia73d5b72dc101104caa35a5a77589eb09ff27442
Fix clean target of C++ projects

When migrating to git we deleted the delnode.exe tool which broke
the clean target of the nmake files. Fortunately rmdir has
learned to recursively delete directories so that we don't need
a special tool anymore.

Change-Id: Ie7e50a8a42b4fdec559b21c8dc3ea5f52f987822
Fix resource leak

MSDN documentation says that we should call ImmReleaseContext
when we're done with the context.

Change-Id: I0a5065fe546814945d0acd1dfe1d67d3e0f2ccd4
Fix clean target of C++ views project

Also remove obsolete build batch files and remove obsolete NAnt
call from remaining build batch files.

Change-Id: Iaecdc0e273409fb6d556e57d256db196c595e26e
Merge branch 'develop' into feature/Keyboarding
Use .NET InputLanguage for switching keyboards on Windows

- remove obsolete code
- integrate LcidKeyboardStatus in keyboarding library (FWNX-1124)

This change is part of FWNX-1150.

Change-Id: I35ff94d4d864f13cd31f74b814c5055a1f45d8ef
Fix weird problem with manifest file

This change fixes a problem that suddently appeared on my machine:
when starting FW in VS FieldWorks.exe gets recompiled which caused
the manifest file to rebuild. For whatever reason registering
Language.dll failed which caused all comClass entries to be
removed from the manifest file, preventing FW from starting.

This change modifies the behavior of the RegFree.targets file that
gets included in the FieldWorks.csproj file: the manifest file gets
only rebuild if any of the unmanaged dlls changed.

Change-Id: I75ff9250794691bc4155e24e3221afceec8fa71f
Merge develop into feature/Keyboarding

Change-Id: I05f6b8c1796651a2dce183e1cd47a2095d4d2914
FWNX-1122, FLEx side of moving Keyboarding to Palaso

This change deletes large chunks of FLEx code that have been
more-or-less moved to Palaso, replacing it with generally smaller
chunks which delegate to the Palaso objects.

JohnT: I'm most dubious about removing the LinuxKeyboardHelper
class. Essentially I have inlined many of its methods to the
ViewInputManager class, which is only instantiated for Linux. In
many cases, ViewInputManager delegated to a KeyboardHelper method
that did nothing, or something very trivial. I have removed the
keyboard helper and made the ViewInputManager methods do the
corresponding thing. This allowed getting rid of the Keyboarding
Assembly altogether, since all its other functionality moved to
Palaso. (The little piece in the ViewInputManager/KeyboardHelper
files was for TSF support that is quite specific to Views, and
thus does not seem to me appropriate to move to Palaso.) It also
seemed to simplify things.

This change integrates a temporary change to get the Palaso DLLs
from Jenkins (which in turn contains a better way of organizing
the downloads).

Change-Id: I0c7e973a6cbf7869e63ddd271990bba27355d0f3
Properly shutdown keyboard controller

Change-Id: I1c6fbae0f4e799487945cbc352726788a7a114fe
Fix failing tests on Linux

PalasoUIWindowsForms.dll requires Enchant.Net.dll otherwise
trying to instantiate WritingSystemSetupModel fails with
a TypeLoadException.

Also fix a bug in ViewInputManager: OnMouseEvent has to
always return false otherwise no further processing happens.

Change-Id: I47e29617d5c86cbf25778fdaa391b23fa03452ca
Import SSL certificates before build package

Needed for mono dependency download build task to connect to https

Change-Id: I95e65263bbae1c7c200a4e871ab31b20211ef6aa
LT-14853 FW LDML reader sets WindowsLcid

The main point of this change is that the FieldWorks code
that reads LDML files needs to set the (legacy) WindowsLcid
field that the Palaso code uses to figure out the active keyboard.

Turns out the PalasoWritingSystem.LCID property is made obsolete
by this, so I removed it. Unfortunately it was inherited from
a COM interface, so that generated a lot of changes.

Change-Id: I853c113469a31c2239c6d7e32851b43a819f5a4b
Remove old vcs-clobbering-avoider comment

Unneeded in current development

(cherry picked from commit 67832e47cdac01e1bfc5d866f258b3b5ac401dee)

Change-Id: I6444fef4f0d652082c5f19067cd0a9a6a5634fbb
Add l10n stanzas to Makefile

Using work from SteveMc

(cherry picked from commit 97f94f2f3b0b4caee2982064019867cf15193b17)

Conflicts:
	Makefile

Change-Id: Ib1f48e38e88347471e5f2797861786dc9d9852d4
Use correct target separator character

(cherry picked from commit cc3074f4e57ff95521badbf42e67de2e6b89780f)

Conflicts:
	Makefile

Change-Id: Ifced3b9d533c61127d19bdac9960f5ac1152b41f