Fixed __read_response lockup

If nil (-1) is returned by Redis as a multi-bulk response, \_\_read_response would hang indefinitely. This happens specifically if a BLPOP/BRPOP operation exceeds its timeout, the socket returns *-1, which caused the while( $result-- ) to never terminate. This fix makes it return() from \_\_read_response in case of a -1 returned as a multi-bulk response. 

Here's a link to the relevant part of the spec: http://code.google.com/p/redis/wiki/ProtocolSpecification#Multi-Bulk_replies .