`DenseElementsAttr` stores elements in a `ArrayRef<char>` buffer, where each element is padded to a full byte. Before this commit, there used to be a special storage format for `i1` elements: they used to be densely packed, i.e., 1 bit per element. This commit removes the dense packing special case for `i1`. This commit removes complexity from `DenseElementsAttr`. If dense packing is needed in the future it could be implemented in a general way that works for all element types (based on #179122). Discussion: https://discourse.llvm.org/t/denseelementsattr-i1-element-type/62525