CS1051: Boost Rider HP, base monster HP on size

The Riders now have 108-164 HP (was 10-80), and monsters in general have
their HP determined by their size, so small monsters have less on
average, and large monsters have more.

From SporkHack.
CS1052: New monster: locusts (from SporkHack)

Gray a, HD 9, speed 12, AC 0, 0 MR, neutral (0), appears in small
groups, has a d8 bite and d4 sickness-causing sting, resists poison,
grants poison resistance, is poisonous to eat and is always generated
hostile.
CS1053: hp_notify: show message when HP changes

This shows a message like "[HP-2=10]" when HP changes from one turn to
the next, controlled by the new hp_notify option (default enabled).  The
exact message is controlled by the new hp_notify_format option (default
"[HP%c%a=%h]", using the following format:

 * %a - HP adjustment since last notification, no +/- sign
 * %c - HP adjustment sign, i.e. +/- sign for above
 * %h - current HP
 * %m - maximum HP
 * %H - current HP or "max" if HP is at maximum

Unfortunately the format isn't documented anywhere player-visible.

Compared to UnNetHack, hpnotify_format_str() is renamed to
hp_notify_format_str() with an extra underscore, and contains an extra
line of code to ensure the snprintf() calls never get a negative value.
Also, I'm not 100% sure the notify message is in exactly the same place
as it is in UnNetHack, since NitroHack reworks the main game loop a lot.
CS1056: Make obj menus aware of max object counts

This makes the following improvements to selectable object menus:

 * Selecting with a count adjusts the selection count of a selected
   object instead of deselecting it.
 * Selecting without a count deselects it if it was selected in any way,
   or selects it otherwise.
 * Using a count greater than or equal to the number of objects treats
   it as if it had been selected "normally", i.e. without a count.

Making count-selected objects toggle off instead of on when selected
without a count requires an extra key press to make it fully-selected,
but prevents object groups from becoming part selected/deselected when
selected with then without counts.

Compared to UnNetHack, the implementation is completely different to
cater to NitroHack's Curses UI.  Oddly, the count field of struct
nh_objitem sends object quantities to the front-end, but until now
hasn't taken advantage of it, instead only using it to trasmit player
selection counts back to the game.
CS1064: Fix crash with ray beams at map edges

I can't see how this crash could occur; reading the surrounding code
shows that (lsx,lsy) trails (sx,sy) and should always start from a valid
map location, so even when (sx,sy) goes off the map (lsx,lsy) should
still be on it.  Still, better to have the check than not have it.
CS1067: Fix 4 crashes when makemon() returns NULL

This bug also exists in vanilla NetHack.
Ensure bar coloring stays within bar length

Testing this reveals that this wasn't causing any problems with the
ncurses string-and-length functions, but better safe than sorry.
CS1075: Add memorial for bhaak's late cat Kali

1 in 100 kittens that the player starts with will be named Shiva if
female or Kali if male, in memory of cats owned by Patric Mueller,
author of UnNetHack.
CS1077: lev_comp: raise level filename max length

From 8 characters to 14.