In regtest mode, stop mining after finding a block

This allows you to generate a single block on demand, which is helpful
for regression tests and app development. Just run:

bitcoind -regtest setgenerate true

Now you have a new block. Run the command again to get another one.

Also, add some documentation to -help describing the new flag.