Oops, don't skip *both* erstwhile nibbles when we discover that they
don't decode, only the first one. (This is because the pattern
guarantees that if a pair doesn't decode, the first nibble is
whitespace, so we need to shift right one byte and decode from there.)
Don't match trailing whitespace on hex patterns.