tests: put each test in it's own "check test case"

This makes it possible to run individual test cases using
CK_RUN_CASE=test_name environment variable.
tests: add libmemcached ketama compatibility test

Only test basic ketama compatibility without triggering server failures and
reconnections, etc for now.  Testing them is going to be somewhat more
complicated as the failover / resume semantics are not and will not be 100%
compatible between the implementations.
server failures: make sure we can bring servers online after all have failed

Previously OMcache would not bring failed servers online if the caller
didn't call omcache_io() after failed requests, which from an API usage
perspective doesn't really make sense.  Now we try to advance the connection
state in the ketama lookup phase to make sure we'll eventually connect to
failed servers.