Simple code hints preferences to enable/disable individual/all code hints providers.

This fixes #8173. You can use one or more of the following preferences to turn on/off individual hints provider.
By default, `showCodeHints` is true and you don't need any of the following preferences to use the existing code hints providers. When you want to disable any of them, just add `"codehint.<HINT_PROVIDER_CONSTRUCTOR_NAME>": false` in the brackets.json file.

````
    "codehint.TagHints": false,
    "codehint.AttrHints": true,
    "codehint.CssPropHints": true,
    "codehint.UrlCodeHints": true,
    "codehint.SpecialCharHints": false,
    "codehint.JSHints": true,
    "showCodeHints": true
````

This logic is not quite right. `jsHintsEnabled` needs to be recomputed whenever either of the prefs change, right? Also, if pref is not set (i.e. undefined), then default is true (not false). Something like this:

```
    function areHintsEnabled() {
        return (PreferencesManager.get("codehint.JSHints") !== false) && (PreferencesManager.get("showCodeHints") !== false); 
    }
    
    PreferencesManager.on("change", "codehint.JSHints", function () {
        jsHintsEnabled = areHintsEnabled();
    });
    
    PreferencesManager.on("change", "showCodeHints", function () {
        jsHintsEnabled = areHintsEnabled();
    });
```