code-assist: create service connection asynchronously

This is a bit racey, in that if you change languages in the process we
could sort of be SOL. But, this will all get cleaned up later in the
refactoring of components.

For now, this is mostly just technology preview to show where we are
headed. We need to create the comprehensive design of how these
components will interact, and the state machine of the editor.