Use Variant.NullValue instead of null

When decoding a DataValue use Variant.NullValue instead of a null
Variant; nobody wants to encoder a null Variant object. Variant is a
container… its contents should be allowed to be null, but the container
itself should not be null.