(#21102) fix opaqe AuthStore::Declaration matching

In AuthStore::Declaration parse sets @pattern to [value], while matchname?
compares pattern to munge_name(value). These two expressions will never match if
the value contains uppercase characters or '.', however the regex for :opaque
allows both . and uppercase.

This fix switches the :opaque case to set @pattern to a non-array value and
matchname? to compare it to a non-munged name. It also adds a test which fails
without the fix. The "when comparing patterns" has been corrected to use
:allow_ip instead of :allow and to provide an opaque name that formerly sorted
before the :domain case.

For some historical references :opaque was originally added at ea66cf6, though
that version did not work:

  ea66cf6b9a5de1dd784dfed8995babf90225f8a0 brice-puppet@daysofwonder.com
  Fix #2348 - Allow authstore (and REST auth) to match allow/deny against opa...

A fix with tests was attempted at a35e9bf, but the tests did not cover some
cases. It's worth noting that the description of this fix asserted that all
patterns should be arrays:

  a35e9bf918db0f6fca45d8b0b002a372cff4f982 Markus@reality.com
  Fix for #2531; adds tests to confirm problem and related cases, notes fixes...

Later Regex ACL support was added at c02126d, and this change re-introduced the
notion of adding non-array patterns:

  c02126df4804b42ecaca2cdff675be9c4e24aa54 siim.poder@skype.net
  (#5966) Add support for hostname regular expressions in auth.conf