Add --generate-only flag

This invokes the generator and begins startup normally, but causes the
main routine to exit before starting the filesystem watcher and web
server.