Fix zfs property parsing

Current property parser breaks when values contain spaces. Since
zfs get -H returns tab separated lines,  it is better to explicitly
split on tabs than on whitespace.
Make zfs set_property accept values with embedded spaces

Converting the argument list to a string with ' '.join causes
the shell interpreter to misparse spaces in property values.
Since the zfs command does not need shell anywhere, using
a list instead of a string works just as well with run_command. 

Fixes #3545.
Merge pull request #3549 from arsatiki/patch-2

Fix ZFS module issues with spaces in property values