new starr that supports macro ???
less magic in fast track macros

Now that we have a mechanism to declare not implemented macros, let's put
it to good use by reducing the amount of magic applied to fast track.
SI-7461 c.typeCheck(silent = true) now suppresses ambiguous errors

Otherwise use cases like the one shown in the attached test (trying to
typecheck something, which leads to an ambiguous overload error) will
mysteriously fail compilation.
moves crucial part of introduceTopLevel to Run

This is done to make it easy for other parts of the compiler to use
the (quite involved) logic of introduceTopLevel.
macro engine refactoring

Macro impl bindings now store more information in signatures.
Previously it was a flattened List[Int] corresponding to flattened paramss,
now it's List[List[Int]] to preserve the lengths of parameter lists.
Also now we distinguish between c.Expr parameters and others.

Previously actual and reference macro signatures were represented as
tuples of vparamss, rets, and sometimes tparams. Now they are all
abstracted behind MacroImplSig.

Finally this patch provides better error messages in cases of
argsc <-> paramsc and argc <-> paramc mismatches.
refactors macro tests

putting in a nutshell, this patch:
  * condenses some macro-XXX-a/b/c/... bundles
  * renames some tests to prepare for type macros
  * introduces some additional tests
refactors importers
refactors macro compilation
refactors macro runtimes