Avoid warnings cause by default settings not being set before actions ru...

Currently the default settings are only applied in init() which runs after the plugin tries to access some settings, which don't exist if the user is upgrading and hasn't set them leading to PHP warnings. 

This PR moves the merging with defaults into the _actions() method so that the settings are defaulted before any actions are run.
@leewillis77 Would you mind moving that into it's own method, maybe something like set_setitngs()?