Implemented the new QueryMirrorDataAsyncTask

Background
-----
This pull request implements a new ```AsyncTask``` class -- ```QueryMirrorDataAsyncTask```. It is meant as a way to call into ```EngineController.GetMirror``` safely.

Notes to reviewer
-----
As of this pull request ```QueryMirrorDataAsyncTask``` is not used anywhere, it is included here just to make subsequent reviews easier. Please **do not merge** this in now, it depends on [another pending pull request](https://github.com/DynamoDS/Dynamo/pull/2978) being merged in first.

@aparajit-pratap, please take a look. Thanks!

:+1: