regcomp.c: Replace dead code with NOT_REACHED
regcomp.c: Fix [_A-Z] for EBCDIC

Special handling is required on EBCDIC for ranges that are subsets of
either a-z or A-Z.  This is triggered when both ends are literals.  It
is implemented by keeping a count of the literal endpoints, and when
that is two do the handling.  But the count was not getting reset, so
it could go to 3, 4, ... so the special handling would only get
triggered if the range was the first thing in the brackets,
like [A-Z], but not if there was something before it, like [_A-Z].  The
solution is to reset the counter appropriately each time through the
loop.  For the A-Z range, the ASCII-equivalent characters wrongly
matched were backslash and '}'.  For a-z, it was '~'