Merge remote-tracking branch 'github/master'
Merge remote-tracking branch 'github/master'
Merge branch 'groupjoinfinder-find-fks' into joinindexpicker-fk-choices
Merge branch 'groupjoinfinder-find-fks' into joinindexpicker-fk-choices
Intermediate commit - Update the GroupJoinFinder to build plans for FK
joins outside of the DPhyper join finder to make that list smaller.
Incompleted, Other changes to support the ongoing work.
Add a configuration item "fdbsql.optimizer.fk_join_threshold" to control
when the special FKJoin processing kicks in. 

Refactor the pickJoinAndIndex() processing to use this.
Fix the JoinAndIndexPicker to deal with multiple levels of joins as
cleanly as possible. 

Update config defatult to use 8 as the starting point for processing FK
joins separately.
Disable the groups finder FK for parents with two children as the
JoinIndexFinder for FKs doesn't reorder the joins correctly.
Merge remote-tracking branch 'github/master' into joinindexpicker-fk-choices
Address merge comments.
Same transformation avoidance for secondary indexes
Add a test that demonstrates the problem.
Assign binding positions once only; do not reuse (except for BloomFilter filter and inner row).
One plan changed slightly.
merge MMcM: Make every binding position unique for the whole query.

Merge pull request #1186 from MMcM/sql-layer/sql-binding-index-unique
https://github.com/FoundationDB/sql-layer/pull/1186
merge tjoneslo: Joinindexpicker fk choices

Merge pull request #1171 from tjoneslo/sql-layer/joinindexpicker-fk-choices
https://github.com/FoundationDB/sql-layer/pull/1171
merge nathanlws: Same UPDATE transformation avoidance for secondary indexes

Merge pull request #1187 from nathanlws/sql-layer/skip-halloween-transform-secondary-exact
https://github.com/FoundationDB/sql-layer/pull/1187