omcache.c: allow data to be read in multiple iterations

Don't stop reading if we haven't found everything and there's time before
the timeout and room in buffers.  Previously omcache_io() always exited
after the first iteration if any data was found to avoid overwriting the
buffers, but instead of a static flag for this we can set the 'don't
overwrite' flag per server per api entry to allow more responses to be
processed in a single call.

This fixes the transient failure in omcache_stat() where OMcache would
sometimes only get a part of the expected 50 responses in the first read()
call and would then return incomplete results.
travis: add .travis.yml for travis-ci integration