(PDB-898) Add factset hash to replace-facts!

This commit associates a hash of each factset with the metadata of the factset
to allow us to easily tell if fact values have changed.
The changes in this patch associated with replace-facts! will break that test, since it will now try to insert some stuff into the hash column, which doesn't exist until migration 28.