Revert "Remove Settings::newFromGlobals"

This commit was broken; it did not completely remove newFromGlobals.

This reverts commit ce2fc9dfd1d9a9e75b4637ebb3a4cc9da7ac943c.

Change-Id: I1725f9cab496bc96ed7f1c0becbceae56534ab8d