[SQL][SPARK-2212]HashJoin(Shuffled)

Currently only the nested loop join for outer joins, as part of the join optimization tasks [SPARK-2211|https://issues.apache.org/jira/browse/SPARK-2212], I initially add the hash based join for all type of joins.