Port shelf sanitization changes from transonic/51cd3e21eff8b (bug 1106073).

These changes ensure that the only empty translations sent to the API are the ones for fields that have non-empty translations on other fields in the same locale.