pd.merge() crashes with core/internals.py error
Hello, 

After I did a couple of merges on DataFrames, they crashed with some strange message. After stripping all unnecessary info, here is what I've got:

Pandas version: '0.12.0'
Numpy version: '1.6.1

How to reproduce:

Create three files with the following content:
===input0.csv===

```
,myid,lang,someid
0,0,en,0
1,1,,1
2,2,fr,2
```

===input1.csv===

```
,myid,type,someid
0,0,0.0,0
1,1,,1
2,2,2.0,2
```

===input2.csv===

```
,lang,type
0,en,10.0
1,,1.0
2,fr,
```

Run the following code:

```
x0 = pd.DataFrame.from_csv('input0.csv')
x1 = pd.DataFrame.from_csv('input1.csv')
x2 = pd.DataFrame.from_csv('input2.csv')
x01 = pd.merge(x0, x1, on=['myid'], sort=True)
pd.merge(x01, x2, how='inner', on=['type'])
```

The second merge will fail with the following stacktrace:
TypeError                                 Traceback (most recent call last)
<ipython-input-278-15f969f80378> in <module>()
----> 1 x01 = pd.merge(x0, x1, on=['myid'], sort=True); pd.merge(x01, x2, how='inner', on=['type'])

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/tools/merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy)

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/tools/merge.py in get_result(self)

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/tools/merge.py in _maybe_add_join_keys(self, result, left_indexer, right_indexer)

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/core/frame.py in **getitem**(self, key)

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/core/generic.py in _get_item_cache(self, item)

/google/data/ro/projects/quality/ranklab/tools/iranklab.par/google3/third_party/py/pandas/core/internals.py in get(self, item)

TypeError: 'NoneType' object is not iterable
# 

Thanks a lot
Olexiy
