SI-8173 add support for patterns like init :+ last to quasiquotes

Adds support for patterns like:

  val q"{ ..$init; $last }" = q"{ a; b; c }"
  // init == List(q"a", q"b")
  // last == q"c"

Which under the hood get compiled as `:+` patterns:

  SyntacticBlock(init :+ last)