Keep new columns in transmit format
When a dataset is formatted with a list of columns that `__getitem__` should return, then calling `map` to add new columns doesn't add the new columns to this list. 

It caused `KeyError` issues in #620 

I changed the logic to add those new columns to the list that `__getitem__` should return.