One way to fix for sqlalchemy 9.0

I honestly don't know much at all about the internals of sqlalchemy and the dialects.   However this is an attempt at fixes #7 .  Really it pull the logic out of PGDialect and BaseDialect and uses them in the initialize so we don't break the encapsulation to much.  I also haven't played around with wether or not all of that code is needed.