[SQL] SPARK-1800 Add broadcast hash join operator

WIP: A few things remain, but looking for feedback on this approach.

 - [ ] Figure out how to configure this.  The immutability of SparkConf is probably not great for things like query hints.
 - [ ] Figure out how to test this.
The bodies of `BroadcastHashJoin` and of `HashJoin` do not strictly reference `broadcastFuture`, right? If so, the Spark job isn't launched during the constructor?