Merge branch 'ninja-gen-sandbox'

It's not quite ready for prime time, but it's ready to be useful for what
we're calling on it to do.
Regex code (+ dependencies) from OpenBSD

This commit is unmodified code from the OpenBSD distribution, so
that changes to integrate it with WING will be tracked.
Integrate OpenBSD regex code in WING build
Update COPYING for inclusion of OpenBSD code
Basic grep functionality

We currently support (only) the form:
	grep <regex> [file ...]
i.e. the minimal functionality that we can get away with calling "grep".
This is mostly a sanity-check that the regex code behaves as expected.

The remainder of SUSv3 grep functionality is in the "eventually"
section of the to-do list.
TODO for WING
Add library support for filename globbing on Windows

Includes a dummy so that we can use the same code where appropriate
on *nix systems, where the shell does globbing for us.
Add a command-line glob expander.

This is primarily a tool to exercise wing_glob_foreach; all it does is
output the names that come out the other side.
expand uses wing_glob_foreach
unexpand uses wing_glob_foreach
grep uses wing_glob_foreach
Clean up old files
Update TODO
tags rule
Automatically generate tags rule
Update TODO
Clean up phony rule handling
Clean up some auxiliary functions
Add more detail about auxiliary functions
Clean up subdirectory handling and filename generation

-Pull related bits of code together
-Add a big comment about what it does and what variables it uses