Autocomplete returns types in importable namespaces, and returns the needed namespace import to the client

* Pass AutomaticallyAddImports to the underlying engine to instruct it to return types which as referenced but not imported
* Sort these import completions below all non-import completions
* Return the required namespace to the client, so it can add the appropriate using statement as part of the completion