Expose Xml documentation

Close #677.

There are two versions of `getXmlDocBySignature`, one uses Visual Studio services and the other uses XDocument and external files.

This PR mistakenly includes the other PR. I will rebase when the other gets merged.
There should be a way to simplify this function...