[REVIEW ONLY] Bare async provider implementation.

@peterflynn, @ingorichter, @fdecampredon please take at this implementation draft. It introduces an optional `scanFileAsync` function in the provider interface which when implemented will be used instead of sync `scanFile` to get the code inspection results. I chose to introduce a separate function since I, personally, don't like multi-semantic functions (e.g. the same `scanFile` which may return an array or a promise). If there's a compelling argument to overload semantics of `scanFile`, let me know.

Not working due to an issue in code inspection implementation (html template is displayed before it's rendered). See [this comment to #5935](https://github.com/adobe/brackets/pull/5935?source=cc#discussion_r8590449). If you want to try it out, just move rendering into the same block where `html` is prepared (into `.then` handler).

This is just to get a general agreement on the proposal/approach, a lot of work is missing on the documentation etc. A mergeable PR will be prepared when #5935 is landed in master.