REST: delete CF value rather than add when value is empty

AddCustomFieldValue doesn't handle empty case, caller should
take care. If we don't then RT records that an empty value
was added
call DeleteCustomFieldValue instead of OCFV->Delete

we were loosing history on the ticket because such direct
call as transactions on ticket are not created
drop OCFV->Delete, AddCustomFieldValue takes care

This code branch is for CFs with one value only. We
can just call AddCustomFieldValue and it will do the
right thing.

Without this change history is incorrect as transactions
say that new value has been set instead of value change.
test CF changes via REST
Merge branch '4.0/rest-delete-custom-field-value' into 4.0-trunk
Merge branch '4.0/rest-dont-call-delete-on-ocfv-directly' into 4.0-trunk