Cache the desugared pieces of classes in the fast optimizer.

This way, info and trees of .sjsir files that have not changed
since the last invocation of fastOptJS need not be reloaded from
disk. Instead, they are kept in-memory. For the trees, the
already desugared is stored (and only pieces actually used).