python: when typechecking 'string', accept both 'string' and 'unicode string'

Signed-off-by: David Scott <dave.scott@citrix.com>
python: variant types are encoded as 2 element lists

For example see "implementation" in

  {"domain_uuid": "some uuid", "implementation": ["Tapdisk3", "\/some\/vhd\/path"]}

Signed-off-by: David Scott <dave.scott@citrix.com>