cleanup, add skip tests unless TEST_LIVE env is on, move the index selection within the readlocked region of the search()
update readme
fix nasty connection-reset-by-peer issue; cleanup

1) connection reset by peer:
it looked like that:
socket closed while still trying to read Connection reset by peer
$VAR1 = {
          'left' => 0,
          'info' => '127.0.0.1:9000',
          '__UNPACKER__' => bless( {}, 'Data::MessagePack::Stream' ),
          'sofar' => 1,
          'data' => '�stored:delete:__test__��',
          'total' => 25,
          'handle' => \*{'Brick::Query::$fd'}
        };
reading only 1 byte which was 81 (msgpack wise this is fixed map with 1
key - meaning read N*2 elements), this hapened only under heavy load
(even if it was only 1 process making the requests and there was for(;;)
running somewhere).

flushing the packer/output stream did not help, so i decided to move to
ByteArrayOutputStream, this also guarantees that we will try to send as
much data as possible at once.

2) cleanup
* perl: move the network logic into one simple tcp() function
* perl: various cleanups

3) add last_query_stamp stats