Use server_version_num not server_version, per github issue #167

PgJDBC does simple 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 really parsing `server_version` if `server_version_num` is not set.

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.