Added RPG-7. Need review & testing.
Added RPG-7 Ammo
basic martial arts functionality.

* added martial arts as first-class objects instead of items, stored in
player::ma_styles
  - martial arts attach diseases to player representing buffs (see ma_buff),
    restricted by skills and current weapon-wielding status
  - can attach buffs on-hit or "statically" (on player::reset)
  - buffs can stack based on their max_stacks trait, and last for buff_duration
    turns
  - martial arts data stored in data/raw/martialarts.json, all
    buffs/conditions/etc are editable
* implemented karate in new JSON system
* added a "test_karate" style, will remove later
Merge branch 'master' into martial_arts
Fully functional martial arts framework v1

* techniques work
* technique restrictions work
* technique custom strings work
* added two "demo" styles, coward and berserker
* Martial Arts Training now gives all implemented styles (karate, aikido, demo
styles). Other martial arts traits won't do anything because they still give you the
old martial arts items which are no longer accessible.
Merge branch 'master' into martial_arts
small json bugfix
More martial arts changes

* added capoeira, judo, tai chi
* added "throw_immune", "block", "block_<stat>" as buff effects
* buffs can now depend on other buffs via "req_buffs"
added krav maga
started breaking out techniques
Merge branch 'master' into martial_arts
stopping point, still doing techniques
non-flaming offensive techniques work
Merge branch 'master' into martial_arts

Conflicts:
	itype.h
despawn_monsters: correct inaccuracies at negative coordinates via
real_coordinates: refactored to return correct subdivisions for any coordinate, when provided absolute coordinate
map: provide absolute xy for map xy, via point getabs(mx, my).
map: Provide local xy for absolute with point getlocal(ax, ay)
map: Provide local and absolute inbound checks via bool inbounds(mx, my) and bool inboundsabs(ax, ay)
map: record submap x,y,z for grid[0] in 'abs_sub' and 'worldz' via set_abs_sub() on load/shift
overmap: show overmap and overmap point coordinates of cursor
Merge remote branch 'origin/master' into coordinate_sanity

Conflicts:
	game.cpp
Revert "Add version headers to submap buffer and overmaps. Bump version to 5 for 0.8"

This reverts commit fac3f16f29406e42e6559ce63a2fc5f5c886f9f5.
Split off code for loading old formats into game::unserialize_legacy, located in savegame_legacy.cpp
overmap: split open into open/unserialize/unserialize_legacy
mapbuffer: add load_legacy
Remove test