Fixes prices of tainted meat and vegetable materials.

Seriously, who is going to pay for zombie meat?
non flashing help-menu. silently ignores illegal keys
accounts for item.charges when dropping items.
when the displaced vehicle is not found in the expected submap, search all submaps for it.
fix complete; forgot to have it check item.count_by_charges()
Merge pull request #7273 from BevapDin/fix-map-vehicle-displacement

Merge fix for lost vehicle origin.
Import action keymap into input manager upon start

import unmapped actions into input manager, too.
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.
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 movement out of the default keymap

Use canonical action names (uppercase) for movement as they already exist
in the keybindings file.

Change look_up_action to accept both versions (old (lowercase) version
is needed to load old keymap).

Change action_ident to return the new (uppercase) version of the action
ident.

Add F1 to the "Display help" keybinding, some dialog use '?' for their
own actions so this makes the keybindings help available there, too.
Don't load default keymap:

When loading the old keymap, don't load the default keymap. Instead load only the stored keymap (if existing), or nothing if no keymap file exists.
The default keybindings will be put into the keybindings.json file.

Combine the two load_keyboard_settings functions, gets rid of the function that basically was a wrapper.
Also get rid of the global variable keymap, default_keymap and unbound_keymap. Instead use reference parameters.