Send the data directly with getkeys.

Less round trips for getkeys, less data copying and
less retarded behaviour overall.
Pass a context so we can call getkeys with a read lock instead of write.

Also start limiting the keys to USHRT_MAX - 1
Allow cyon to always flush to disk after a storelog write (-a).
And add an option to use fdatasync (-z) instead of fsync.