This extra check was needed or every technique would get filtered, except valid aoe that is. Fixes #7053
Add checks for items, skills and bionics of professions

Addictions are already checked when creating an instance of addiction in profession::load_profession
recipes: check for book-to-learn-from exists and is a book else print a debug message
handle re-definitions of vehicle parts gracefully
handle unknown part types in vehicle prototypes
check spawn definitions in vehicle protoypes

Removed the GUITAR spawn from fire trucks.

The item currently does not exists, can be added later when #1980 gets fixed.
Make map::spawn_item ignore item ids that would lead to a null item on the map.
Fix fuel leak not actually draining tank
Fix water leak spawning bottles of water
Reduce fuel leak rate by 50%
Heavily damaged batteries now self-discharge
show tool charges in item.info
Merge branch 'more-json-consitency-checks' of https://github.com/BevapDin/Cataclysm-DDA into multimerge
Merge branch 'improved_fuel_leaks' of https://github.com/belenos-/Cataclysm-DDA into multimerge
Merge branch 'toolchrg' of https://github.com/cSep/Cataclysm-DDA into multimerge
use input_context in set_stats (new character stats selection screen).

Add color for keys (light green as it is used elsewhere).
Move the drawing inside the loop and added a werase call in case the keybindings have changed.
Use input_context in set_traits (char gen trait selection screen)

Some keybindings have been removed/changed:
TAB goes to the next tab instead of switching between good traits / bad traits.
Selecting a trait uses CONFIRM which is only bound to ENTER, space and '5' don't work anymore.
Use input_context in set_profession (char gen, profession selection screen)

Changed keybinding for change gender to 'g' as the default TAB conflicts with the NEXT_TAB action.
Note: as the CHANGE_GENDER is registered before the NEXT_TAB action it is possible to bind TAB to CHANGE_GENDER. Because the input context will triggers the first action that matches the input a TAB will trigger CHANGE_GENDER and not NEXT_TAB.
use input_context in set_description (char gen last dialog)

Changed keybinding for change gender back to TAB, it overrides the "next tab" binding.
Use input_context in set_skills (char gen skill dialog)