Have compileGlobPattern return a possible error.

For when it becomes necessary to return an error.
Do not permit ** or *? in patterns.

** and *? cannot possibly match anything, since * with an empty
substring will consume all characters in a string and any following *
and ? cannot possibly match anything following an all-consuming *.