Exclude new Ripper failures.
Fix the failed return value, which should still be null.
Replace return with break.

The server body here is inside a closure with a while loop. It
appears that the original commit wanted to have a way to terminate
the server gracefully by doing a non-local return that should
bubble out. However, when using a threaded server the result is
a LocalJumpError since return is not valid in a thread.

We believe this should be a break instead of a return, since it
just wants to escape the request-handling loop. This change allows
MRI trunk tests for net/http to pass on JRuby the same way they
did before.