Refactor out the LanguageServiceHost

* throw an exception if the node process crashes - i was able to make it
crash via a recursive call that never ended