use `md5:md5sum-string` instead of `md5:md5sum-sequence` for hashing
sql migrations

`md5:md5sum-sequence` is not meant for hashing strings, and it's easy
to have collisions.

Warning: with this patch, all hashes are changing, so previously run
migrations will seem "new" again.
bugfix to make first-of-the-month support accepting dates late in the month
moved load orders around for various things to emit less warnings/compile errors
converting bare methods to defgenerics, preventing style-warnings