Named arguments are usable in many cases now.

Building on the brilliant work of Michel Fortin,
I added a NamedArgumentExp::toElem() method to
fix the failing test/compilable/namedarg.d.

I also added an additional test,
test/compilable/namedarg_vararg.d
that currently fails, showing that variadic
templates still need to handle named
arguments gracefully.