Require a word character after the colon in module: searches

This avoids mistakenly munging queries like "module::metadata".
Only replace special search terms when they're a standalone word

Otherwise we run the risk of badly munging typo'd queries like
"test::dist:manifest" into something stranger.

Note that the character class for distribution names had to change to
include hyphens since the end is now anchored.
Merge pull request #1247 from CPAN-API/tsibley/stricter-special-query-terms

Stricter munging of special query terms