Import action keymap into input manager upon start

import unmapped actions into input manager, too.
Add input_context::register_all_actions to register all configured actions
Add main actions idents to the main input_context

Use look_up_action to translate the action idents returned by the input context to the action_id.
Add special case form movement keys as they use global actions.
Add input_manager::get_previously_pressed_key to get the last key pressed.

This will be used in the butcher menu as hotkey for the first corpse instead of looking up the key used for the butcher action.
Use a function the get main input_context:

The input context contains a display_help function that displays the keybindings and allows changing them, That function is used in help.cpp for displaying and changing them.

Remove unbound_keymap from header as it is only used in a single cpp file
Move load_keyboard_settings into initialization of input_manager,

Make the keymap private to action.cpp, not used in any other file.
To allow the input_manager to take over any existing settings, copy the loaded a keymap into the reference parameter.
Remove saving the keymap when loading from legacy location
remove keymap functions that are no longer used
move global press_x to input_context

make the global press_x use the default input context instead of the keymap
remove a unused press_x function
Change action_from_key to use the input_context instead of the keymap
make get_direction use action_from_key instead of the keymap
change keys_bound_to to use input_context instead of keymap

Added a wrapper function to input_context to get the keys used to trigger an action.
Allow action in the input_context to have differing names.

Because the keys that move the player character are also used to move the center of the overmap maybe somewhere else, too.
They should be labeled as "move north" and "pan north" respectively.
Add choose_direction, which is wrapped by choose_adjacent.

choose_direction is the generalized function that does return just the direction coordinates (dx,dy) and does not add the player position.
Use choose_direction instead get_direction in construct::done_tree
Use choose_direction instead of get_direction in iuse::jacqueshammer
finalize importing old keymap file:

Omit saving the default keymap if the keymap file does not exist.
delete imported keymap after saving the imported bindings.
Move keybindings for pause and movement out of the default keymap

Update keybndings json to contain them instead.
Add another entries for the wrapping of the action idents (input_manager uses uppercase, keymap actions use lowercase).
Add F1 to the "Display help" keybinding

Some dialog use '?' for their own actions so this makes the keybindings help available there, too.
Use canonical action names (uppercase) as they already exist in the keybindings file.

Basically invert the wrapper code in look_up_action and action_ident