Merge even on NaN
#### Sample code

```python
# Your code here
import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1,2,3,4], 'B': [1,2,3,4]})
df1 = pd.DataFrame({'A': [1,2, 3, 3, 4], 'B': [1,2,3, np.NaN, np.NaN],'C': ['a','b','a','c','d']})

df2=df.merge(df1, on=['A','B'], how='left')
![df2](https://user-images.githubusercontent.com/55535963/65235326-fabb5580-daf3-11e9-9c55-9c3b98f14e36.png)


df3=pd.DataFrame({'A': [1,2, 3, 3, 4], 'B': [1,2,3, np.NaN, np.NaN],'C': ['a','b','a', 'c','d']})
![df3](https://user-images.githubusercontent.com/55535963/65235333-fe4edc80-daf3-11e9-8d6e-1fa3d5de8339.png)

```
#### Problem description

Just want an option on merge function, which would take df and df1 to get df3 as well.
