Fix #157: (directory "**/") should return just dirs
First we change pathname-match-p so that NIL in a component does
not count as a wild component.
Second, use pathname-match-p in %enumerate-files to determine if
the file matches.
Finally, modify directory so as not to merge in :wild for nil
components. This means (directory "**/") returns just the directories. To get the files you need to do (directory "**/*.*").