Edit zig loot mildly.

 * Add an average of one restore abilities potion per zig (in initial
   zig floor settings), since Tomb floors and extended mana channeling
   / summons can eat away at one's stats easily and it's nice to be
   nice about it.
 * Add a tiny chance of beneficial mutation in the best of the zig
   loot, because beneficial mutation is cool. The tiniest of odds
   are cut from potions of experience, cure mutation, and royal
   jelly stacks to slot it in.
Document a formula
Move peeve/like application to their structs.

Technically this could cause behaviour differences, but only if
a god both likes and dislikes the same action.
Answer a comment.
Simplify

Since we don't need the iterator later, it's simpler to erase from the
set by value, rather than find() followed by erase-by-iterator.
Implement and use a map_find template function.

The safe way to get a value from a map is to find() and only if that
returned a non-end iterator dereference the iterator to get the value.
Unfortunately, map iterators don't convert to bool, so it's hard to
do this in an if condition, leading to the iterator being declared
before the if, in a higher scope than necessary.

map_find is a wrapper around map::find that returns a pointer to the
value (or null if not found).  Since pointers do convert to bool, this
function is easier to use in conditionals.
Don't copy the map in map_find (doh)

And provide and use a const version.
Remove an extra leftover call to find().
Deduplicate a template.

Deduce the constness of map_find's returned pointer from the constness
of the map itself.
Explicitly #include <type_traits>

For conditional<> and is_const<>.  It seems to be pulled in by another
header with libstdc++, but there's no sense in relying on that.
Use type inference rather than std::conditional<>
Have monsters only cast spectral weapon when close to their foe

The spectral weapon can only attack after Asterion has, so previously
when he casted the spell at range it was beneficial to the player. Now
Asterion will only cast the spell if he's within two tiles of his
target.
fix compilation
Shorten the Travis IRC notification.
Make high-power Orb cards try to aim (Hangedman)
Fix burst IOOD targeting

Should work now.

Extremely spammy in debug mode, but that can be trimmed, of
course.
Possibly fix travis notificiations
Allow mapstat and objstat to run in debug Tiles builds
Clean up progress output for objstat/mapstat
Correctly record shapeshifters in objstat