Add deep-merge fn for merging nested maps.
Submit batches of project settings as a unit

:saved-project-settings can now be passed an additional :merge-path
which picks out a part of the project datastructure that should have the
new settings from the inputs state applied onto it before PUTting to the
project settings API.

Renamed :saved-notification-hooks to :saved-project-settings since it's
applicable to other cases.

Removed :project-name from :project-feature-flag-checked, every other
handler derives it from the project-id.
Fix frontend merge of settings/existing project settings.

Fix handling of top-level values (i.e. values that aren't maps)

Allow multiple paths to be merged from project into settings for the
notifications settings case where every setting is a top-level value.

Add tests.
Merge branch 'master' into submit-all-project-settings
Merge commit 'b723936d671f4d10832408574460fc9e2a635bc9'