call.go: implement calling .CloseWrite() in the correct Go way

This makes things typesafe, general, and portable across different Go
versions. As a result I can remote the notes about not working on Go 1.0
because they're not true any more.

Chalk this one up as a Go learning experience.