BUG: DataFrame._reduce was converting integers to strings in mixed-type
case.
BUG: Remove creating np.array. This allows us to use our own logic for
promoting dtypes. #6806

BUG: Only convert 0/1 ints to bool. #6806