Change CodeInspection Public API to expose providers

- Changes getProvidersForPath to be public - allows extensions to query providers for custom linting.
- Adds getProviders to allow extensions to get all providers.
- Adds deregister to allow extensions to remove a provider when the extension provides a provider with the same functionality.

Although this changes the public API, it does not change any existing methods - it just expands upon them. For this reason, I think that this should not produce any backwards compatibility issues.

Some discussion on this topic has been done here: MiguelCastillo/Brackets-InteractiveLinter#44.

/cc @MiguelCastillo
this should return a clone of the array since it will be possible to modify the original `_providers` by, for example, using `Array.prototype.pop()`.