Addresses issue #1667
Choosing not to study still reads the book for one step
advanced_inventory: choose amount of charges on pickup. item.charges(): 2 optional arguments for output precision.
No point in asking if you can't pickup a single charge.
Merge, and compensate for definition of itype.volume that is completely geschtonkenflapped:
Merge item::volume precision and unit arguments with
 item-with-charges-volume-scale-defined-by-max-charges-which-is-named-stack-size
behavior. precise_value now returns multiple of 1000, since the current maximum item::max_charges() / stack_size(.json)
is 200.
Merge remote-tracking branch 'origin/imagefonts'
Merge remote-tracking branch 'upstream/master'
[WIP] Framework for determining part power usage
Adds power requirement for headlights
Adds vehicle alternators and car battery spawns
Merges master branch changes to vehicle parts
Added option to spawn zombies at shelter
Update alternator and car battery PR.

Conflicts:
	data/json/items/melee.json
	data/json/vehicle_parts.json
	data/json/vehicles.json
	lightmap.cpp
	savegame_json.cpp
	veh_typedef.cpp
	vehicle.cpp
	vehicle.h
Tab removal.
Allow items to be spawned in vehicles. 16% chance of cigarettes in a car as a proof-of-concept.
Allow vehicle items to spawn as groups by listing them as an array.
Chance of a lighter on the driver's seat of a car.
Chance of jack+wheel in a car trunk.
Small chance of screwdriver, scissors, or crowbar in car trunk.
Tiny chance of roadmap in passenger's side seat.