Refactor the FieldVisitor related code to simplify.

Also fixes the overly-large -value-id-out file.