Use inheritance to describe multiple types of PGErrors.

This resolves long standing bitbucket issue #5 .
Rename PG:Errors to PG::ERROR_CLASSES as suggested by ged.
Use distinct error class in case the connection is broken.
Merge pull request #13 from larskanis/add-inheritance-for-different-sql-errors

Use inheritance to describe multiple types of PGErrors.