Raise ValidationError if type cannot be converted or is wrong type (depending on the descriptor)
Reordered tests. Added tests for descriptor's __set__