match: improve documentation - docstrings and more descriptive variable naming

No real changes.

pattern: 'kind:pat' as specified on the command line
patterns, pats: list of patterns
kind: 'path', 'glob' or 're' or ...
pat: string in the corresponding 'kind' format
kindpats: list of (kind, pat) tuples
match: _globre doctests
match: remove last traces of unused .missing callback
context: remove redundant handling of match.bad return value

The 'bad' function is for reporting - it never returns anything.
dirstate: improve documentation and readability of match and ignore in the walker
dirstate: report bad subdirectories as match.bad, not just a warning (BC)

This seems simpler and more correct.

The only test coverage for this is test-permissions.t when it says:
  dir: Permission denied