Move reporting wizard into a convenience library

Move reporting wizard into a convenience library, so it can be used by the crash
generation server as well.
Fix how PropertyPage notes the PropertySheet's HWND

Fix the PropertyPage's mechanism to note the PropertySheet's HWND, so it works
correctly when the PropertySheet is recreated, rather than only ever running
exactly once.
Add a server for out-of-process crash reporting
Add a small test for crash_reporter_server
Set reporting wizard verbose flag for crash reporting server

... for debugging
Add cygwin hooks DLL

The cygwin-crashreporter-hooks DLL exposes functions to start a crash generation
server process (if one is not already running), and to request it to perform a
dump, and is intended to be called by the cygwin DLL.

This DLL needs to be statically linked to all non-system libraries, which is
difficult to request with libtool (since it adds -nostdlib, which prevents
--static-libgcc -static-libstc++ from having any effect), so jump through some
hoops to build it explicitly
Add dependencies on built libraries for parallel make
Update TODO
Revise README
Factor out process_environment()
Dump more information than just MiniDumpNormal

XXX: needs the ability to customize MiniDump flags
Try to make the dump function a callback

So we can choose if we want to use CrashGenerationServer::GenerateDump()
[which reads EXCEPTION_POINTERS] or ExceptionHandler::WriteMinidumpForChild()
[which doesn't]

XXX: This might be better implemented by putting the both methods into the
CrashReporter and selecting using a pointer-to-member, or based on if a
CrashGenerationServer is in use...
Set and process CustomClientInfo

Abuse the CustomClientInfo mechanism to allow application-specific
configuration of the crash-generation server

(e.g. different cygwin applications might want to report crashes
to different servers)
Make dump_dir static

It's needed outside of the crashreporter object, to initialize the
crash generation server.