Better handling of sink.

On MoarVM, this leads to a smaller QAST trees and much better code
generation. On JVM and Parrot, we get the first advantage, and we
could improve their code-gen in the future too. Note the Parrot bit
of this is untested due to being unable to build NQP Parrot on Win32
at present; the JVM patch worked right off, though, and there's very
little reason fro the Parrot one not to. Testing welcome.