The fix is to move spacemacs/declare-prefix call out of config.el into
packages.el file of the layer. I don't know why this change fixes the
issue. I just made changes to perforce layer code to match what is done
in all other layers where the function is called within package.el
rather than in config.el.
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes#2737, because as far as I can tell "+" has no special
meaning in a helm pattern.
Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".