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.
Why is there an extra space between "the" and "class" words?