Port Python keyboard detector to C

This is a straightforward port to C of the keyboard detector code
from Ubuntu's installer; with the exception of "Cancel" and "Add" buttons
in the dialog box. When the detection heuristic has finished, the "Add"
button becomes active.

(Roddy, Philip)

[endlessm/eos-shell#3425]
Incorporate keyboard detection heuristic

Hooks up the dialog box ported in the previous commit to the keyboard
layout selection page. If the user clicks "Add" after the keyboard has
been guessed, it will be added to the list of keyboards on the page, and
automatically selected so that the "Next" button becomes active. If the
guessed layout was already in the list, it will still be selected.

(Roddy, Philip)

[endlessm/eos-shell#3425]
Remove Python files

These have been ported to C and are not needed anymore.

[endlessm/eos-shell#3425]
Add files with new strings to POTFILES.in

[endlessm/eos-shell#3425]
Refactor read_step() into process_line()

The code for processing each line of the keyboard tree file moves into
its own function, in order to avoid mistakes with having to free the
line at each exit point of the loop.

This requires moving another variable into the KeyboardDetector struct
(marked private in a comment.)

[endlessm/eos-shell#3425]