refactor out common code between syntactic valdef and vardef
streamline implementation of annotation splicing
allow splicing annotations with type arguments and multiple arg lists

Syntax spec mislead me to believe that annotation can't have type
parameters or multiple argument lists... I guess the lesson here is
don't trust the spec.
move quasiquotes into unhygienic submodule of universe

1. current quasiquotes are now moved into universe.unhygienic and
   require one more extra import to be used
2. each interpolator is defined in their own implicit class to
   make it possible to import just one flavor of the q, tq, pq, cq
3. there is a shim class left for sake of compatibility with current
   starr's definitions. It can be removed after next starr update that
   includes this commit.