base class for PG Object subclasses

PGObject contains the base routines for object management using discoverable
stored procedures in PostgreSQL databases. PGObject contains only common
functionality and support structures, and low-level API's. Most developers
will want to use more functional modules which add to these functions.

The overall approach here is to provide the basics for a toolkit that other
modules can extend. This is thus intended to be a component for building
integration between PostgreSQL user defined functions and Perl objects.

Because decisions such as state handling are largely outside of the scope of
this module, this module itself does not do any significant state handling.
Database handles (using DBD::Pg 2.0 or later) must be passed in on every
call. This decision was made in order to allow for diversity in this area,
with the idea that wrapper classes would be written to implement this.