Optimize value named arguments

Implements and closes #1794.

The general optimization is disabled because it sometimes crashes javac. (Apply [this patch](https://gist.github.com/lucaswerkmeister/f991b0f2330d47263119) to your tree if you want to investigate it.)