(maint) Detect reparse when :code changes
Previously the detection for reparse didn't take into account the
parsing having been done from the Puppet[:code] setting. This meant that
if a test tried to compile several different manifests for the same node
it would only ever compile from the first value of Puppet[:code] and
subsequently reuse that for all other calls (even if Puppet[:code]
changed).
This adds a check for changes to Puppet[:code] to cause it to
re-calculate known_resource_types.