Empty boolean attributes are not removed

As discussed in #1078.
This will be true for any non-array `value` as well.  Is that what you wanted? Or would `value.length===0` be better?