API to make exclude list user controllable (6781)

This is based on a comment I found in the source, referring to https://github.com/adobe/brackets/issues/6781

The patch refactors the way `_exclusionListRegEx` is managed (a lot!) and adds a number of public APIs. All the refactoring is meant to protect `_exclusionListRegEx` from getting broken through an external API.

Code example:

```
var regExp = /^index\.html$/;

// adds the pattern to the list to exclude from the file tree
ProjectManager.addPatternToExclusionList(regExp);

// removes the pattern from the list to exclude from the file tree
ProjectManager.removePatternFromExclusionList(regExp); 

// reset to the default list to exclude from the file tree
ProjectManager.resetExclusionList();

// get a copy of the list of patterns to exclude from the file tree
var arr = ProjectManager.getExclusionList();

console.log(arr);
```