More tests, clean up test log noise, fix a GOAWAY bug.

The bug, found via new tests: if the ReadFrames goroutine read a frame
from the Framer resulting in an error of type ConnectionError, the
code specific to handling ConnectionError wasn't getting to handle it.
We always assumed that all errors coming from the Framer were related
to connection errors (io.EOF, etc). So now fall through past the
normal frame-processing logic and handle all errors the same way. That
means we now respond with a GOAWAY frame to clients who sent us bogus
frames rejected by the framer level too.