Use server_version_num not server_version, per github issue #167

PgJDBC does string comparisons on server_version instead of using
server_version_num or even parsing server_version.

Fix this, so we use server_version_num if available and fall back to parsing
server_version (not just doing string compares on it) if not.

Per github issue #167

A test suite is added to ensure versions are parsed as expected. Compatibility
code ensures that all the driver's existing tests for
connection.haveMinimumServerVersion("8.0") etc continue to work, though they
should be replaced.

This change breaks BC only in that it fixes buggy handling of two-digit
versions. If you connect to 9.0.11 and test
connection.haveMinimumServerVersion("9.0.9"), it will now report true, where
before it incorrectly reported false.