context is "a bit weird"
he API is a bit weird when it comes to setting up a context.
kv_context_t should not have hg_handle_t fields, it should not have a svr_addr_t field, it should only have hg_id_t fields along with a margo instance. The idea of a
kv_context_t object is to have the RPC ids for all operations. At the point where we have registered those RPCs, we don't know yet 1) where is the database (or even whether we are going to interact with a single server) and 2) whether the client will issue calls concurrently from different threads.