Refactor Linux keyboard adaptors for base class

Extract a base class to share between the CombinedKeyboardAdaptor
used by Trusty and the CinnamonIbusAdaptor used by Wasta 14 (aka
Mint 17/Cinnamon).
so, I see "value" all over the place, would it be better to have more meaningful variable names?