(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.
docstrings for everyone! Well at least these 3 funcs, we've been a little lazy at times, but its worth putting down your intention in a docstring sometimes.