DO NOT MERGE - Review Only - Clean analyzer

Since CI seems to be down, this is the whole PR for review by @sjrd. The true PR is in #1412
Pass `thingToRun` to `runnerIR` instead. Then `runnerIR` can add `$` then `encodeClassName` (in that order, the other order doesn't make sense). That way only `runnerIR` has to know about encoding in general.