more robust settings in pre-merge phase

when we haven't migrated yet, there is no settings table.
this doesn't hinder plugins to read/write settings (when
initializing the app).

solution: ignore setting-writes (but give a warning) and
answer an empty hash on setting-read when there is no
setting-table.

fixes #1830