title: Wrong units displayed in data.table with POSIXct arithmetic
body: <p>When durations are computed in data.table (v1.9.2), the wrong units can be printed with POSIXct arithmetic. It seems the first units are chosen.</p>
  
  <pre><code>require("data.table")
  dt &lt;- data.table(id=c(1,1,2,2), 
                    event=rep(c("start", "end"), times=2), 
                    time=c(as.POSIXct(c("2014-01-31 06:05:30", 
                                        "2014-01-31 06:45:30", 
                                        "2014-01-31 08:10:00", 
                                        "2014-01-31 09:30:00"))))
  dt$time[2] - dt$time[1]  # in minutes
  dt$time[4] - dt$time[3]  # in hours
  dt[ , max(time) - min(time), by=id]  # wrong units printed for id 2
  </code></pre>
  
  <p>I realize that one of these is the correct way to do it to get expected behavior, but wanted to report this behavior. Not sure if it is really a data.table problem or POSIXct problem. </p>
  
  <pre><code>dt[ , difftime(max(time), min(time), units="mins"), by=id]  # both in mins
  dt[ , difftime(max(time), min(time), units="hours"), by=id]  # both in hours
  </code></pre>