Don't always return ValueUnset for empty entries

Returning ValueUnset would make proxy not to propagate the change to the
model, which is wrong on some cases (str for example).

It's the datatype responsible to return something else from _from_string(text),
for example, the int converter still returns ValueUnset in this case (since ''
is not a valid number)

Change-Id: Iff2878912a19a4e5c5df5f46dd67f82ae0800dec