Fix for issues 838, 841, 527

These fixes help to recognize and rewrite plans that should use index lookups rather than nested loops or outer joins

Change-Id: Icad72c10e7c6afbc46cfb014c6198429d4e338e2
Reviewed-on: http://fulliautomatix.ics.uci.edu:8443/215
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <buyingyi@gmail.com>
10 files changed