go.crypto/ssh: Read returns all unread bytes before returning io.EOF. Fixes golang/go#4158. R=dave, agl CC=golang-dev https://golang.org/cl/6586060