Merge pull request #447 from MontakOleg/master

Code cleanup: Replace BufferChangedCallbacks with BufferObservers (#427)
Return empty json for settings and keymaps when file doesn't exist or on error