merge flagsFromBits and FlagsAsBits into FlagsRepr
use NoMods and NoFlags for reification of empty values
move mkNew from tools.nsc.ast.TreeGen to reflect.internal.TreeGen

This is needed for quasiquotes to implement SyntacticNew combinator.
minor changes to TreeGen.mkTemplate

1. Make superPos parameter optional with default value NoPosition
2. use Option instead of List for local optional constructor variable
reduce amount of clutter on -Yquasiquote-debug
add support for refineStat splicing and extraction
refine block and applied/typeapplied splicing/matching semantics

1. blocks now match single term-level expressions to account for
   automatic block elimination. E.g.

   val q"{ ..$stats }" = q"foo"

   will match into stats = List(q"foo"). This is useful to uniformly
   deal with blocks on term level.

2. blocks in quasiquotes collapse into single expressions

3. Applied and TypeApplied now have constructors too which helps
   to unify matching and extraction in quasiquote reifier

4. TypeApplied now matches AppliedTypeTree too

5. Add Syntactic prefix to Applied and TypeApplied
first-class early def splicing and extraction support
add support for function type splicing and scaladot finer grained reification
syntactic valdef, vardef, defdef, tuple, tuple type
syntactic new
updated tests