SI-8285 use correct kind of map for quasiquote positions

Previously mutable.ListMap was used with assumption that it preserved
order of inserted elements (but it doesn't). Surprisingly logic that
assumed ordered elements worked mosly fine on unordered ones. I guess
two bugs can cancel each other out.
Merge pull request #3593 from densh/si/8285

SI-8285 use correct kind of map for quasiquote positions