Several small fixes and improvements

- fix adding certain XKB keyboards (e.g. "Maltese (with US keyboard)")
- fix several crashes for languages that Mono doesn't support
- change keyboard description string to
  "<layout> - <language> (<country>)" to better match Windows
- store layout id instead (culture dependent) description
- fix several failing tests

Change-Id: Iefafcc63d2d72edba8973948c1099d2b61c97d27