Store specific client ops in the fio_client structure

We could be handling a mix of gui and cli clients from the server,
so passing. Plus this is a lot cleaner.

Also unify ETA opcode handling between clients.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/init.c b/init.c
index fd61c68..0b57a9c 100644
--- a/init.c
+++ b/init.c
@@ -1569,7 +1569,7 @@
 				exit_val = 1;
 				break;
 			}
-			if (fio_client_add(optarg, &cur_client)) {
+			if (fio_client_add(&fio_client_ops, optarg, &cur_client)) {
 				log_err("fio: failed adding client %s\n", optarg);
 				do_exit++;
 				exit_val = 1;