Checksum for migration scripts (PostgreSQL only)

It's important to ensure that migration scripts are not changed after
they have been run. Otherwise, re-running the scripts could lead to
different results.

This change computes the MD5 checksum for each of the up migration
scripts applied to a database and stores these checksums in the
schemaversion table along with each version entry.

It also adds the name of the migration script (the bit between '.do.'
and '.sql' to the table, just for ease of identifying scripts.

When up migrations are performed, checksums are computed for each
migration script that has already been applied to the database, and
these values are compared to the values in the schemaversion table.

The up migrations are aborted if a difference is detected.

This change is backwards compatible with older versions of postgrator.
It has been implemented so that if you already use postgrator in your
application, upgrading to a new version containing this commit will add
the md5 column to your existing schemaversion table. MD5 checksums will
be captured for any migrations applied from this point onwards.
Checksums will not be added for any scripts that have already been run
before the upgrade.

This change is for PostgreSQL only, for now. Checksum storage and
verification is skipped for the other databases supported by
postgrator.