Initially I just wanted to add `whenOpening` and `whenClosing` as boolean prefs, since those are the useful ones. People would like to disable one but not both and other disable both. But I wasn't sure how it would work when updating the preference in CodeMirror. I guess if I go that way it would require a special case to handle it.

So I am ok in using 2 boolean pref and a special case to handle the on change event.

We overwrite `indentTags` because if we don't then when you have `<div|` and write a `>` it auto-completes and indents the tag becoming:
```
<div>
    |
</div>
```
Which is really annoying, but some people might like it. So you can define for which tags this behavior is ok.