title: Pandas merge with unique matches
body: <p>I am trying to solve an issue with merging two datasets. Lets see an example:</p>
  
  <pre><code>borrowed_money = {'name': ['Alex', 'Alex', 'David', 'David', 'David', 'Mike', 'Mike'], 
                    'sum': [10,10,30,25,10,20,30]} 
  intersted_in = {'name': ['David', 'Alex', 'David', 'Mike', 'Mike', 'Alex', 'Mike','Alex', 'John'],
                    'toy': ['Car', 'Soldier', 'Plush', 'Soldier', 'Spaceship', 'Pen', 'Plush', 'Card', 'Spaceship']}
  p1 = pandas.DataFrame(borrowed_money)
  p2 = pandas.DataFrame(intersted_in)
  pandas.merge(p1,p2)
  </code></pre>
  
  <p><strong>Result</strong>:</p>
  
  <pre><code>     name  sum        toy
  0    Alex   10    Soldier
  1    Alex   10        Pen
  2    Alex   10       Card
  3    Alex   10    Soldier
  4    Alex   10        Pen
  5    Alex   10       Card
  6   David   30        Car
  7   David   30      Plush
  8   David   25        Car
  9   David   25      Plush
  10  David   10        Car
  11  David   10      Plush
  12   Mike   20    Soldier
  13   Mike   20  Spaceship
  14   Mike   20      Plush
  15   Mike   30    Soldier
  16   Mike   30  Spaceship
  17   Mike   30      Plush
  </code></pre>
  
  <p><strong>Desired Result</strong>:</p>
  
  <p>For me desired result, is a combination of two datasets, that will have each name used a limited amount of times only. So no duplication of matches could occur. </p>
  
  <pre><code>     name  sum        toy
  0    Alex   10    Soldier
  1    Alex   10        Pen
  2   David   30        Car
  3   David   25      Plush
  4    Mike   20    Soldier
  5    Mike   30    Soldier
  </code></pre>
  
  <p>Alex is mentioned twice in the first list, so it has two matches - Soldier and Pen. David mentioned twice in the second list, so it has two matches - Car and Plush. </p>
  
  <p>Could you please help me to achieve this result using pandas.merge?</p>