Fix deprecation in package-manager-spec
Take 'scope' option in Config::observe

Deprecate using the scope as an optional first argument
Take 'scope' option in Config::onDidChange

Deprecate passing the scope as an optional first argument
Throw when Config::set is called w/ source and no scope
Add Config::unset

Deprecate Config::restoreDefault
Fix config priorities
:memo: new config APIs
Deprecate Config::isDefault and ::getDefault
Store all settings in the scoped property store

There are a few failing specs, but I think they can all be addressed by
having a `source` for all properties and using it to target only the
user settings in various cases.
Fix Config::save
Fix Config::isDefault
Fix config event subscription methods

Signed-off-by: Nathan Sobo <nathan@github.com>