Improvement to Tooltip description API

This PR fixes #114 and implements the API changes I suggested there. 

That is, the `Declaration.DescriptionText` property changes type from ToolTipText to `Async<Choice<ToolTipText,string>>` where the second choice is an error message.
This leaves client apps with a choice of how to handle errors and how long to wait for a response.