(REF) dev/core#1724 - SettingsBag - Convert to computeVirtual/updateVirtual
The `SettingsBag` uses the `$combined` property to (locally) cache a full
view of the active settings (based on combining different layers of data --
default-values, explicit-values, and mandatory-values). This design is
good for read-mostly data.
This patch changes the `__ContributionSettings` to be another layer in the
construction of `$combined` -- the virtual-values layer. It fixes issues
wherein:
1. The virtual value is recomputed during every call to `get($key)`.
2. The virtual value is only based on explicit-values -- it disregards
default-values and mandatory-values.