Fix UTF-8 bug in mscash2 introduced in 42912b39.
sapG: Add FMT_UTF8 even though we are not FMT_UNICODE.
RAKP formats: Improve valid().
Fix buffer overrun in KWallet.
Fix a bug in eleven formats where cmp_one() and/or cmp_exact() erroneously
relied on cmp_all() having been called first. This is *not* always the
case, when bitmaps are used we go directly to cmp_one(). This leads to
FALSE POSITIVES but only likely for broken hashes that are uncrackable
anyway so it wasn't that much of a problem.

Affected formats: raw-md4, raw-md5, raw-sha1, raw-sha224, raw-sha256,
raw-sha256-ng, raw-sha256-ng-i, raw-sha384, raw-sha512, raw-sha512-ng-i
and nt-opencl.

Self-test added to stop future problems.
Merge branch 'bleeding-jumbo' into memdbg

* bleeding-jumbo:
  Fix a bug in eleven formats where cmp_one() and/or cmp_exact() erroneously relied on cmp_all() having been called first. This is *not* always the case, when bitmaps are used we go directly to cmp_one(). This leads to FALSE POSITIVES but only likely for broken hashes that are uncrackable anyway so it wasn't that much of a problem.
  Fix buffer overrun in KWallet.
  RAKP formats: Improve valid().
  sapG: Add FMT_UTF8 even though we are not FMT_UNICODE.
  Fix UTF-8 bug in mscash2 introduced in 42912b39.