DataFrame.join fails with unconsolidated inputs
An oversight in the join refactoring recently

```
create two objects:
a=DataFrame(randn(30,2),columns=['a','b'])
c=Series(randn(30))

now add c as column of a:
a['c']=c

create a third object:
d=DataFrame(randn(30,1),columns=['d'])

try to join with a:
a.join(d)
```
