Using public send instead of send for the PerThreadRegistry module.
Prevents you from accidentally calling a protected method.
Merge pull request #10165 from wangjohn/public_send_for_instance

Using public send instead of send for the PerThreadRegistry module.
Searching for rails executable correctly

 * Current logic of finding Rails executable in parent directory is
   not returning full path of executable if it is found in one of the
   parent directories
 * To compensate for this, we have to call exec_app_rails recursively
   until the executable is found or we cant do 'chdir' anymore
 * This solution finds the correct executable path from parent
   directory(s) recursively
Merge pull request #10157 from prathamesh-sonpatki/app_loader

Searching for rails executable correctly
code review of 22e5ab3
Revert "Merge pull request #10158 from steveklabnik/issue_10125"

This reverts commit fa3ef8e82ab2f96cf15ef9bc885b2468fad77621, reversing
changes made to e0af93dd3a5eeee2e2a67b05f34afb66cc80c00b.

Reason: Routes, Active Record and the rendering stack should not depend
on the default locale
Merge pull request #10164 from neerajdotname/3002-final

While merging relations preserve context for joins
method remove_duplicate_results! protected now
enhance readability a bit
rdoc for some of the methods in JoinDependency

JoinDependency and it's family has complex code. Added rdoc
helps understand what's going on a bit more clearly.