Revert previous commit (3611a04) and implements a more general way of resolving table name to TableNameExpression in Query::join()
While testing, I realized some of the tests did not convert table names to TableNameExpression as a complex array can be given as first argument to Query::join().
This change makes the previous one useless as the present commit is more "general" and takes into account the complex array (with the table name given in the array with the "table" key).