factory: remove implicit multifield to field conversion

When a CLIPS::Values instances was converted to a CLIPS data object,
there were two shortcuts. First, if the vector did not contain any
value, a NULL pointer was returned. Second, if the vector contained only
a single value, a regular field was returned, not a multifield.

This crashes code when you actually want to set multifield values, for
example to set a multislot field of a fact template. It was impossible
to set this field with no or one value. It caused clips to segfault.

The fix is to remove these implicit type conversions and always return a
multifield data object, with zero, one, or more entries.