setcolorder works like setnames

This solves #798 and #592 in a way consistent with how setnames works.
When only one argument is given (beyond the data.table) , setcolorder behavior does the exact same thing as before.  However, I renamed this argument from "neworder" to "old" to be consistent with setnames. 

A second argument (a numeric vector) can now be specified.
````R
dt <- data.table(id = c(1,2), date = c(1999, 2000))
setcolorder(dt, "date", 1)
setcolorder(dt, 2, 1)
setcolorder(dt, "id", 2)
setcolorder(dt, 1, 2)
````