BUG: resolve left/right key names overlap in merge
Here is an attempt at fully resolving name conflict in merges when `left_on` or `right_on` keys are passed explicitly.

I am not sure my fix is correct but I include a new non-regression test to highlight the issue and the resolution does not introduce any regression findable by running `nosetests`.

Rebased & merged
 Thanks!
