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
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
Instead of suppressing CAST at getExplainer, do it in the formatter, but not if VERBOSE.
Rearrange how plans are formatted a little to make toString() shorter and rules test output a bit more verbose.
Update test expected results.
Add a test option to show the types for the paramters, which is one of the important jobs of the types resolver rule.
Add a test demonstrating the problem.
Add an assertion against parameters not having their type determined.
Add type from explicit cast into the parameters sync.