Refactor the language service host a bit

* remove unnecessary version field
* avoid reading file when not necessary
* update the ByteOrderMark in case it changes