Handle empty config files + reset settings before applying user config

Closes #3664
Use isPlainObject()
Actually update first-mate. Previous (51475fe231) updated atom-keymap.

Both were needed to introduce disposables, but I mixed up the commit
message in the previous commit.
Merge pull request #1 from atom/master

master