title: merging data.tables based on columns names
body: <p>I am trying to do some left-join merges with data.tables.
  The package description quote that </p>
  
  <blockquote>
    <p>In all joins the names of the columns are irrelevant; the columns of x's key are joined to in order</p>
  </blockquote>
  
  <p>I understand that I can use <code>.data.table[</code> and <code>data.table:::merge.data.table</code></p>
  
  <p>What I would like is : merge X and Y specifying the keys (like by.x and by.y in base merge, ->why taking this away ?)</p>
  
  <p>Let's suppose I have</p>
  
  <pre><code>DT = data.table(x=rep(c("a","b","c"),each=3),y=c(1,3,6),v=1:9,key="x,y,v")
  DT1 = data.frame(x1=c("aa","bb","cc"),y1=c(1,3,6),v1=1:3,key="x1,y1,v1")
  </code></pre>
  
  <p>and I would like this output:</p>
  
  <pre><code>#data.table:::merge is masking I don't know how to call the base version of merge anymore
  R) {base::merge}(DT,DT1,by.x="y",by.y="y1") 
  y x v x1 v1
  1 1 a 1 aa  1
  2 1 c 7 aa  1
  3 1 b 4 aa  1
  4 3 a 2 bb  2
  5 3 b 5 bb  2
  6 3 c 8 bb  2
  7 6 b 6 cc  3
  8 6 a 3 cc  3
  9 6 c 9 cc  3
  </code></pre>
  
  <p>I am very happy to use <code>[</code> or <code>data.table:::merge</code> but I would like an option that do not modify <code>DT</code> or <code>DT1</code> (like changing the column names and calling merge and changing it back)</p>