Prepare for removing createdb() by changing calls to createdb_from_template

We aren't ever creating bare databases without a template anymore
remove createdb()
Remove unnecessary _createdb_common()
Make this a public function

We'll need it in a test
Use more strictly defined identifiers

uuid->create_str() returns strings with dashes in them.  PostgresInterface
is about reject DB names and owners that aren't only alphanumeric chars
Use a regular DB handle instead of running postgres command-line tools
Remove unneeded CommandLineRunner
Remove unneeded SaveTemplateFile command module
These modules are not used anymore
Move Pg identifier validation into a Moose subtype

This way other postgres methods won't have to validate the params
Turn off error printing
Since we're not using shell commands, these are base exceptions now
Remove unneeded exceptions
Move is_valid_role() to the Postgres interaction package

Makes more sense in there
extract function for creating basic pg object
move role granting to the Postgres module
Verify the named template exists as a valid database
Remove more cruft

Since we're using a DB handle, we don't need to know the paths to
Postgres's command-line tools any more
Merge pull request #37 from genome/admin-dbi

Admin dbi