Make cross joins handle naming collisions

The current version skips (overwrites) a column when DataFrames share a column name.