Connection parameters

This pulls various connection parameter logic into a reusable class instead of being scattered across multiple `pg.utils` methods.  This should make extending & enhancing connections easier in the future (e.g. adding SSL support was harder than it should have been).