[#964] String validator: don't convert values to None

string_validator() was converting any string values passed to it to
None, when it should be returning the value unchanged. Oops
[#964] Accept null as an extra value

It's undocumented, but you can post null as the value of an extra to
delete the extra. The new string_validator() stopped this from working
and broke some tests. Change string_validator() to
must_be_string_or_none().