Move sync glob function into separate class

Step 1 of zalgo removal.

Makes sync glob a bit faster, but I suspect that it'd be faster yet to
just stat stuff rather than detect directories via a failed readdir,
since the cost of error object creation and GC might be too heavy.  More
profiling and investigation is needed.

Before:

    $ npm run bench

    ...

    Node glob.sync timing:
    100000

    real	0m28.484s
    user	0m21.532s
    sys	0m3.331s

    Node glob async timing:
    100000

    real	0m39.003s
    user	0m29.359s
    sys	0m6.753s

After:

    Node glob.sync timing:
    100000

    real	0m11.541s
    user	0m8.832s
    sys	0m1.665s

    Node glob async timing:
    100000

    real	0m38.648s
    user	0m29.320s
    sys	0m6.421s

So, this cuts out about half of the time which was mostly being spent in
silly function-wrapping and poorly factored code.

Re #78
move common functions into common.js
prefer multivar to leading comma
consistent semis
remove deprecated bits

That was from waaayyyy back in version 2.0.
Refactor async glob, tests passing
just use regular fs

The only thing we use fds for in this util is readdir, and
it's already cached and inflight-guarded anyway.
put benchmark script in TMPDIR instead of project

Too tedious to continually switch back and forth between tests and
profiling
GlobStar: Don't leave lstat information on the table

This speeds up the ** benchmark considerably, by removing a LOT
of unnecessary stats and readdirs.
the return of pause/resume
quieter pause/resume test
Merge branch 'splitsync'

Merging as --no-ff since there was a removal of the pause/resume along
the way and some other unnecessary breaking stuff.  Also, this is a
major refactor.

Even though no behavior *should* have changed, the performance
improvement is so major I'm considering bumping the major version number
on general principle, since the extreme speed increase might break
programs.

Fix #78