title: data.table merge by multiple columns
body: <p>I'm trying to match 4 variables pairwise and add a column with the lookup value. In base, I would do <code>merge(df1,df2, by.x=c("lsr","ppr"),by.y=c("li","pro"))</code>, where <code>df1</code> has 9 cols and <code>df2</code> (2 being <code>lsr</code> and <code>pro</code>) <code>df2</code> has only 3, <code>li</code>, <code>pro</code>, and the "value" I'm interested in, <code>alpha</code>. </p>
  
  <p>This works fine, but as I'm beginning to be a huge fan of <code>data.table</code>, I would like to do this in the <code>data.table</code> way - and because I have some millions of rows - so base merge is slow (I saw, that the <code>by.x</code>, and <code>by.y</code> feature is pending for <code>data.table</code>, but maybe there is a workaround). See some sample data below:</p>
  
  <pre><code>df2:
           alpha         li        pro
        1: 0.5000000 0.01666667 0.01666667
        2: 0.3295455 0.03333333 0.01666667
        3: 0.2435897 0.05000000 0.01666667
        4: 0.1917808 0.06666667 0.01666667
        5: 0.1571429 0.08333333 0.01666667
  df1:     
            demand rtime    mcv         mck        ppr       mlv         mlk        lsr
        1:    0.3     1 357.57700 0.099326944 0.01666667 558.27267 0.155075741 0.01666667
        2:    0.3    10 548.75433 0.152431759 0.01666667 614.30667 0.170640741 0.03333333
        3:    0.3    11 314.55767 0.087377130 0.01666667 636.48100 0.176800278 0.03333333
        4:    0.3     2 312.15033 0.086708426 0.01666667 677.48100 0.188189167 0.06666667
        5:    0.3     3 454.47867 0.126244074 0.01666667 608.92067 0.169144630 0.01666667
       ---                                                                               
  6899196:    0.6     5 537.92673 0.149424093 1.00000000 537.92673 0.149424093 1.00000000
  6899197:    0.6     6 277.34732 0.077040923 1.00000000 277.34732 0.077040923 1.00000000
  6899198:    0.6     7  73.31484 0.020365235 1.00000000  73.31484 0.020365235 1.00000000
  6899199:    0.6     8  32.04197 0.008900546 1.00000000  32.04197 0.008900546 1.00000000
  6899200:    0.6     9  14.59008 0.004052799 1.00000000  14.59008 0.004052799 1.00000000
  </code></pre>
  
  <p>Last, maybe of interest is, that in <code>df2</code> I have unique rows, and in <code>df1</code>, I have lots of duplicates in respect to <code>lsr</code> and <code>ppr</code>. I also tried to set two keys and join them the <code>data.table</code> way, and adding a new column with <code>alpha</code>. But without success.</p>