Make releasing block ids to the free list less fragile (removing make_non_deleted)
Keep current_page_ts alive for as long as there are any snapshots. Otherwise we would mess up the block versions.
Fixes a problem with current_page_acq_t destruction.
Ruby: reconnect() no longer dies when closing the old connection

@socket.close() may raise "IOError: closed stream" when the connection has
abruptly closed.
Merge branch 'v1.12.x' into next
Merge pull request #2276 from nviennot/ruby_socket_close

Ruby: reconnect() no longer dies when closing the old connection
Fix unit test after change to block id release logic.
Merge branch 'v1.12.x' into next
refactor of query server for clean support of multiple protocols
updating ruby driver to use V0_3 protocol
updating python driver to use json api, removing token from response json
fixing python connection tests
adding description of V0_3 of the protocol handshake
python driver cleanup
fixing latency problem in the python driver
performance tweaks in python driver
removing useless code from python driver
fixing code review comments, making wire protocol string an enum instead
adding JSON protocol to javascript driver
adding polyglot test for infinity in python driver