raises exception when remote socket end disconnects

When using Cucumber Wire Protocol with Cucumber CPP if the WireServer crashes (SEGFAULT) during a step the client is left with a nil message returned (IO.gets Returns nil if called at end of file.). 

I've added a check for nil that raises a WireException in this case indicating that the remote server hung up.

Appropriate test included.