implement recursive wildstars

A sequence of two consecutive wildstars, `**`, acts like a regular
wildstar `*` except that it also matches on path separators,
making them useful for matching on arbitrary subdirectories.

For example, the pattern "somedir/**/needle.txt" would match:

* somedir/one/needle.txt
* somedir/one/two/needle.txt
* somedir/other/needle.txt

Patterns such as "somedir/**/*.txt" are also possible.

The previous behavior of collapsing many consecutive wildcards to
a single one has been changed so that now a sequence of more than
two consecutive wildcards is treated literally.
added separate AnyRecursiveSequence token

I think this is probably a more straightforward implementation.

Also conformed to whitespace conventions.
Merge pull request #15 from blaenk/recursive

implement recursive wildstars