Separate the settings file name from loading settings

This will allow direct access to the settings file easier.
Save new rules into the user settings.

By using the user settings, the user is able to see the new rule and modify
it as they see fit. Settings are either replaced on the spot or inserted to
the top of the rules, depending if the key was found.

The rule structure looks like:

// key
// comment
[
  "rule"
]

Since I can't save changes to the settings object (at least the user settings,
anyway) and the json encoder won't preserve comments, I need to do custom
parsing for the settings file. There are definite issues as it is very
dependant on the file structure now.