defined type for creating database schemas

This defined type helps create database schemas, and assign them to an
`owner`. It is closely modeled after Postgresql::Server::Tablespace.
It uses PostgreSQL's builtin IF NOT EXISTS to guarantee idempotency.
(>= 9.3, else it checks pg_namespace).

n.b.: This defined type *requires* that a `db` is passed. This is a
concious design decision, since we find it rather useless to create such
schemas in the default `postgres` database, and if *were* useful, one
can always "over-specify".

This addresses MODULES-1098.
Create the pg_ident_rule defined type

This allows us to declare user map as easilly as pg_hba entries.
Set manage_pg_ident_conf to false for backward compatibility

I'd like to see this patch included ASAP -- the desirable default could
be manage_pg_ident_conf => true, but one could already manage this file
manually : we don't want to wipe it.

Please switch the default from false to true at the next major release
and write a line about this in the release notes.
Merge pull request #452 from txaj/support_pg_ident

Create the pg_ident_rule defined type
Merge pull request #456 from igalic/schema

defined type for creating database schemas