[SPARK-2531] [SQL] Make BroadcastNestedLoopJoin take into account a BuildSide

JIRA ticket: https://issues.apache.org/jira/browse/SPARK-2531
Actually `JoinedRow` provides 2 methods `withLeft` and `withRight`, which probably can save the new object creations in each iteration.