Add faster variable freshening - this breaks evaluation

It's as if the two implementations of freshening were expected to give
the same results, even when used in different places. Or sth. else. Or
maybe I screwed up somehow still.

And it only breaks on `UU.lpts`, not its components.

But not everything breaks, and stuff gets faster.

Before:
$ time pts --quiet --instance uu UU/T/build.lpts

real	0m0.416s
user	0m0.406s
sys	0m0.009s

After:
$ time pts --quiet --instance uu UU/T/build.lpts

real	0m0.352s
user	0m0.341s
sys	0m0.009s
Rename
Try speeding up operations with non-existing API :-(

I misunderstood the API, but it seems there's no way to update a value
and return something meanwhile, barring `unsafePerformIO`. There are
tons of API variations, but no support for e.g. Applicative
actions (unless I want to visit the whole map).
Freshening: Fix running on UU.lpts

Map creation violated the invariant.
Use insertLookupWithKey WIP

Untested.