map::has_flag*(...): optional usage of bitfield constants, for flags checked
heavily enough to create a noticable performance bottleneck ( ie "BASHABLE"
and most anything used in update_scent, monster movement, los & drawing,
vehicles, fire, etc)
vpart.has_flag() Fix anti-optimize optimize since refs are just as big
(and bigger on x64) as flag
map::has_flag, has_flag_*_furn, map_move_cost: eliminate redundant INBOUNDS
and grid[IDX]->???[SUBX][SUBY] calculations
map::trans: make use of efficient has_flag_ter_and_furn. indoor cache: use fast flag check
game::update_scent: faster BASHABLE/REDUCE_SCENT checking
lightmap: eliminate needless malloc/frees in light_arc/source
line/dist functions: constify, reference vector arguments
game::explosion: use fast flag checks in loop
player::is_invisible() to centralize checks for invisible bionics/clothes/artifacts
const all should-be-const functions as needed to make is_invisible() const
monmove sanity & speedup
* monster::sees_player( int & ): same as game::sees_u( x, y, int & ) but
eliminates expensive and silly logic of monster::plan passing position
to game::sees_u, which proceeds to do a keypair lookup in _active_monsters
for the monster's mem addr.
* Constify const functions required to make sees_player const
* game::sees_u: same as before, but defer to critter.sees_player which handles
the same checks via citter.vision and g->u.is_invisible
* monster::plan use in-class sees_player which bypasses the whole 'this = map[ this.pos() ]'
  stuff partially responsible for it's 30% chunk of do_turn
u_see:: pre-initialize string for "bio_night" check. bio night remains lame
Re-add the lajatang and chainsaw lajatang.
Added hedge trimmers.
Add spawn locations and recipe for hedge trimmer.
Added circular saws.
Merge remote-tracking branch 'origin/master' into speedups_round_2

Corrected Conflicts:
	src/game.cpp
Convert mapbuffer save/load to json.h.
Convert savegame_legacy.cpp to json.h.
Remove picojson. RIP picojson.
That's clearly a typo.