Derived settings, which allows injecting settings wherever their dependencies are defined.

This is an advanced feature initially intended for internal sbt use.
display derived settings information in 'inspect'
ensure a derived setting is only injected into a scope once
require dynamic initialization to be explicitly enabled for derived settings
more specific error when dependencies of a derived setting are undefined
support filtering the Scopes that a derived setting is applied in
Default settings, which give internal sbt settings something like Plugin.globalSettings.
only derive settings when all dependencies are defined
tests for derived settings
Show defining locations when there are cycles between derived settings
In 'set' command, handle keys in new scopes in the affected settings part
Derived settings: handle scopeLocal in derive and allow triggering dependencies to be filtered
Derive testGrouping,compilers,scalaBinaryVersion.  Don't go through compileInputs for doc.  Fixes #539, #708, #391.