allow owner to be overridden when creating a database from a template
always create database from template (with owner override allowed)
remove no-longer-used function, _create_new_database
add real_owner to database
add test to create database with owner
join to pg_roles instead of pg_authid

"Since this catalog (pg_authid) contains passwords, it must not be
publicly readable. pg_roles is a publicly readable view on pg_authid
that blanks out the password field."
automatically grant role to the superuser

Automatically grant roles to the superuser so that it can create new
databases with that owner.
validate roles to avoid SQL injection
update rest-api doc
move default template to command
remove test
complete transition to CreateDatabaseFromTemplate
remove no-longer-used CreateDatabase
fix incorrect comments
move magic string to constant
convert grant_role from a function to a method
remove hard-coded role name

For this test to pass it is required that `test_db_user` and `db_user`
are never the same.  `new_pg_instance()` used `test_db_user` as the
default owner so this will try to override that owner with `db_user`.
Merge pull request #31 from nnutter/next

consolidate with and with-out template database creation
allow psql in Makefile to be configured
Merge pull request #34 from nnutter/next

allow psql in Makefile to be configured