adding support for length prefixed json on the client socket

As @portertech & I agreed on IRC, I am adding support for length prefixed JSON to the client socket while keeping the existing behavior as it is.

Thanks,
praddy
Would it not make sense to accept a special-format header line like:
`LONG_JSON <DATA_LEN> <MD5>`

Then you'd be able to recognize these special messages by looking for the first word in the first packet being `LONG_JSON`. And leave open the possibility of having different header formats for the next person who comes along and runs into some issue where `Sensu::Socket#receive_data` needs tweaking.

As for the MD5 (a CRC-32 would also be adequate) it's cheap to compute on both sides and would help catch bugs in an implementor's code. When I go write a client for this (and I'm going to, as soon as this PR gets merged) I'd rather any coding mistakes I make get caught quick and result in an observable failure instead of the sensu client trying to make the best of the situation and me groveling through logs looking at half-formed messages and trying to deduce what happened. Having a checksum means that when I make an off-by-one error, that can be caught immediately instead of something down the line blowing up in a weird way.