Cleanup

* Use JSDoc when possible
* Switch return types from Language Service public APIs to interfaces
* remove unused files
* remove references to 'foo' from user facing messages
Wherever we do this sort of thing, we need an explicit type annotation, or maybe a type assertion. I strongly prefer the former.