Revert "Revert part of my pkg2 WIP that accidentally made it into the last commit"

This reverts commit 07b6e921a32f8482e5a147cc6d5d6a21a8bfe5f9.
Stateless Pkg2.fixup
Fix an infinite loop in fixup
Allow fixup on arrays of arbitrary string types
Merge pull request #3784 from JuliaLang/kf/pkg2fixup

Pkg2: Remove state from fixup