added the JoinFactorFactorVisitor_SameLevels for the special
case where both factors have the same levels in the same order.

added the same_levels function to test for that.

closes #675