Cost-based inversion of outer, semi and cross joins.

Change-Id: I7ce8847aadb5028ea5655ef2437ad31ab277e6de
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4323
Reviewed-by: Alex Behm <alex.behm@cloudera.com>
Tested-by: jenkins