Adding support for {right, full} outer joins to the partitioned hash join implementation

Unlike the old hash-join implementation, right and full outer use the same codepaths as
the other joins. That makes it much easier to codegen. Also, removed the code from InitGetNext() because it was a duplicate of the normal probe batch processing and it was bug-prone.

Also, fixing a bug on partitioned hash join that was calling EvalConjuncts only on
other_conjuncts_, but not conjuncts_; and renaming some functions and struct variables.

Change-Id: Ie97f62467efca62d64b7b5d3eac6efcfb03408d9
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/3835
Reviewed-by: Ippokratis Pandis <ipandis@cloudera.com>
Tested-by: jenkins