title: Removing a column twice by setting it to "NULL" triggers an error in data.table
body: <p>An error caused by mistyping of "up" button:</p>
  
  <pre><code>require(data.table)
  DT = data.table(x=rep(letters[1:3], each=3L), y=c(1,3,6), v=1:9, key="x,y")
  DT[ , z := 42L][]    # add 'z' column by reference
  DT[ , z := NULL][]   # remove "z" column
  DT["a", z := NULL][] # attempt to re-remove "z" for certain rows -- error
  # Error in `[.data.table`(DT, "a", `:=`(z, NULL)) : 
  #   When deleting columns, i should not be provided
  # In addition: Warning message:
  # In `[.data.table`(DT, "a", `:=`(z, NULL)) :
  #   Adding new column 'z' then assigning NULL (deleting it).
  DT[, z := NULL][]
  # Error in ans[[target]] : subscript out of bounds
  DT
  #    x y  v    z
  # 1: a 1 42 NULL
  # 2: a 3 42 NULL
  # 3: a 6 42 NULL
  # 4: b 1  4 NULL
  # 5: b 3  5 NULL
  # 6: b 6  6 NULL
  # 7: c 1  7 NULL
  # 8: c 3  8 NULL
  # 9: c 6  9 NULL
  </code></pre>
  
  <p>How to remove the "z" column in a simple way? </p>
  
  <p>Not like </p>
  
  <pre><code>DT &lt;- DT[, 1:3, with=F]. 
  </code></pre>