Make value_set_missing(), etc. tolerate values of width -1.
In some circumstances a value of width -1 crops up, e.g. when a case is
made from a dictionary that has had a variable deleted in the middle.
Such a value has no content at all. In the long run it should be possible
to get rid of these values entirely--their presence is a wart--but for now
the case and value code needs to tolerate them.
This fixes a segfault in the GUI when inserting a new case when the
datasheet case has a column with width -1 (due to deletion of a variable),
which was caused by case_set_missing() calling value_set_missing() for
the -1 width variable, which in turn was writing through an invalid
pointer.