Add GENERATE command

This allows arbitrary files to be generatede as part of a pconfigure
run.  The idea is that you provide a script for each file that ends up
getting generated, and that script is run every time the file needs to
be generated.  Right now, this file (when run with "--deps") can
generate a list of dependencies that trigger rebuilds of the target
file.

I'm currently using this to generate GIT build versions on the fly, as
opposed to the current code which hard-codes everything.

This is a bit of a departure from the pconfigure philophisy, but I
think it's necessary.  I think these shell scripts are going to be a
huge source of pain because they'll be copied around between projects,
but I guess for now it's the best I'm going to do...
Don't show talloc errors on --version

I was just "exit(0)"ing inside clopts.c when --version was called.
This no longer does that, but instead communicates the early
termination bac k up to main.c so it can clean everything up.
Automatically generate version number

The idea here is that I'll automatically tag this pconfigure version
with the output of 'git describe', as opposed to forcing me to
manually do everything myself.  I still have to manually update the
canonical version (the one used by package managers) because the git
stuff isn't included in the tarballs, but this should be good enough
for now.