keyboard: Write the keyboard model and layout settings to the root mount point.

This is implemented as a new SetKeyboardLayout job that does the work.

Portions of the code are adapted from systemd-localed's source code,
which is under a compatible license (LGPLv2.1+, can be converted to our
GPLv3+ license). I ported it from C to to C++/Qt and made some minor
tweaks to the mapping logic (from X11 to vconsole layouts) though.

Fixes #31.

Tested on a Fedora Remix (Kannolo 21) with the default module settings
(finds the converted X11 keymaps for the virtual console) and with
convertedKeymapPath: "" (does the legacy keymap conversion as expected).
make gummiboot kernel/distro agnostic
add hibernate option to .conf
create a fallback entry in gummiboot menu
re-add firmware to globalstorage, simplifies this module, will be needed to add more OS to gummi
Automatic merge of Transifex translations
Add retranslator class to CalamaresUtils.
Use Retranslator in LocalePage.
keyboard: Coding style fixes.
keyboard: kbd-model-map: Add link to the original.

In particular, to the upstream git log for the file.
keyboard: Pass settings directly, not through GlobalStorage.

Pass the settings from keyboard.conf directly to the
SetKeyboardLayoutJob rather than through GlobalStorage.
Update README.md
keyboard: Allow absolute paths for the xOrgConfFileName setting.

This should ensure it works on all distributions.
Add RETRANSLATE macro to CalamaresUtils::Retranslator.
Allow multiple CALAMARES_RETRANSLATE blocks in the same widget.
Use Retranslator in GreetingPage.
Merge pull request #147 from kkofler/fix-issue-31

keyboard: Write the keyboard model and layout settings to the root mount point.
Make sure our return value is correct
Use Retranslator in KeyboardPage.
Capture by-val in Retranslator macro.
Use Retranslator in Partitioning module.
Automatic merge of Transifex translations
Merge pull request #148 from calamares/gummibot

make gummiboot kernel/distro agnostic