[rpc-light] Optimize the way (string * t) list are marshaled
This bit is necessary to discuss with the SM backend and it is also a nice optiomization. Basically, if you have: 'type t = (kk, vv) list with rpc' the library will check if value of type 'kk' are marshaled to a string; if yes, instead of having a list of stuff, it creates a dictionary which is what the python XenAPI bindings are looking for.
Signed-off-by: Thomas Gazagnaire <thomas.gazagnaire@citrix.com>