Evokable Jump attack ability

* Player chooses a monster target within range where there's at least one valid
  landing site adjacent to the target.
* There must be a monster to target to use the ability, but the monster can be
  friendly or neutral.
* A random valid landing site is chosen, the player is moved to that square, and
  weapon melee occurs against the target at the landing site.
* Jump attacks are melee with the wielded weapon and get a 20% damage bonus
* Valid landing sites are always habitable squares with no monster and no
  thing that's dangerous to the player.
* Flying monsters or giant monsters not standing in deep water or lava can
  'block' the path of a landing site by being in the ray path from the player to
  the landing site.
* If a visible monster blocks the path to a landing site, it won't be considered
  as a valid landing site.
* If something invisible blocks a landing site, the site will be shown as valid
  and can be randomly chosen, in which case the player 'rebounds off something
  unseen' and never leaves the starting square, but wastes a turn (delay 10aut).
* If the player is adjacent to the monster, sites adjacent to the player are not
  valid; you have to 'jump over' the monster in this case.
* Player can't jump if exhausted or standing in water/lava/liquefied ground
* Exhaustion duration is set after jump (regardless of success) to prevent a
  second jump, with a duration formula that's the same as the breath duration.
* The usual melee checks wielded weapon/friendly etc. checks are performed for
  the jump melee.
* If any of the valid landing sites would cause problems with self-electrocution
  or sanctuary violation, the player is warned first.
* Range is determined by evocations training; starting attack range is 3
  (movement 2), and it increases by one at evocations 5 and 10.
* The cost of the jump is 2MP and a hunger cost using the same calculation as
  for flame breath.
* The delay of a successful jump is the same as melee delay.
* Fail rate for the ability calculation based on evoke taken from breath fail
  rate code
Add SPARM_JUMPING ego. Wearing this grants the evoke jump attack ability.
Generate boots of jumping with same frequency as boots of running.
Add a jump artefact property giving the evoke jump ability

* Can be added to anything that's not a ranged weapon with same frequency code
  as used for fly/blink/rage (occurs after rage)
* Shops appraise this for same value as +Rage.
Add a player mutation granting the jump ability

* Starting attack range is 3, like the evokations ability, increasing by one for
  each level of the the mutation to a max of 5.
* Cost of ability is only hunger and exhaustion (same hunger cost as evokations
  ability).
* The mutation ability otherwise functions exactly the same as the evokations
  ability.
Jump-related save compatibility

The jump enums (two abilities, arte prop, mutation) were previously not added to
the proper location, which would break save compat with trunk.  Also add a bit
of save compat code to give Fe innate jump if loading from a save where they
don't have it.
Give felids the jump 1 mutation at start.

Increasing the mutation level at XL 6 and XL12.
Fix movement range not being properly checked
Don't do an erroneus check_moveto() on the monster target, cleanups and documentation for targetter_jump
Fully set the jump mutation in the Felid save compatibility code
Disable jump in tree and wisp forms
Include a header to use a canned message in the player class
Allow jump attack to target an empty square

The player can target an in-range empty square for jump attack.  If it turns out
that the square is empty, the jump-attack fails and the player rebounds to their
original position, losing the turn.
Simplify conduct checks and fix prompting with elec/devastator for jump-attack

Instead of trying to differentiate sanctuary vs. other conduct issues, just
count them equally as a conduct violation, which seems the intention of
bad_attack() anyways.  Elec attacks for targets in water and devastator also
give conduct prompts now with no double-prompting.
Fix conduct prompting for jump attacks with elec/devastator.

Warnings were not being generated for non-adjacent jump attacks and some
double-prompting occured for adjacent ones.
Fix ordering of SPARM_* name arrays and tile enums.
Look for monsters in wall during dbg_scan.

This doesn't check habitability, because being in deep water is somewhat
more complex.
Fix a convoluted crash when an abyss-pushed item stacks.

This does change its index, and since _push_items() used a pointer to its
loop index as an argument to move_item_to_grid(), if that index changes,
we skip pushing some items.
Correct a typo.
Fix the jump attack ability from the mutation not having an ability description