option to use persistent scratch database instead of creating temp database

This lets me keep a scratch postgres running which is used instead of creating a temp database each time it is needed.  These are the advantages:

 1. no need to create the postgres instance (initdb etc) on each call to dbtest / dbfakeinstall
 2. don't have to worry about temporary database(s) accidentally persisting
 3. easier (I find) to diagnose problems with temp/scratch database 
 4. more flexible configuration (scratch db can be on another host, TCP instead of domain socket, tune, etc)

The downside is of course

  1. must create a persistent scratch instance

which is why it is optional.