Automagically add new keybindings, so long as they don't conflict.

Should fix some of the complaints about '^'.

Also fixes some non-bugs, like having no keybindings if you have an empty or unreadable (but existing) data/keymap.txt.