SI-8047 change fresh name encoding in quasiquotes to avoid symbol owner corruption

Previously a following encoding was used to represent fresh names that should be created at runtime of the quasiquote:

```
build.withFreshTermName(prefix1) { name1 =>
  ...
    build.withFreshTermName(prefixN) { nameN =>
      tree
    }
  ...
}
```

It turned out that this encoding causes symbol corruption due to the fact that tree can contain splicees with invalid owners.

Now a simpler and probably better performing alternative is used instead:

```
{
  val name1 = universe.build.freshTermName(prefix1)
  ...
  val nameN = universe.build.freshTermName(prefixN)
  tree
}
```

Here owner stays the same and doesn’t need any adjustment.