settings: Add SettingsConsumer and convert Content accordingly

This allows the optional object-local settings dictionary to just
contain overrides of DEFAULT_CONFIG.

Also:
* More consistent standardization and type checking in
  configure_settings().
* Tweaked summary plugin to use the new SettingsConsumer API when
  extracting settings from Content instances.