(PDB-713) Modify anonymization to support structured facts

This pull request modifies the PuppetDB anonymization tool to retain some
structure in anonymization of structured facts. Top-level values are now anonymized
random values of matching type. Maps are anonymized in a type-sensitive way to
arbitrary depth.