Add a handler to process type check errors

Related to #711.
Clear F# project cache when current solution is closed.
Add messages showing recovery progress
inherited class & proper abstract keyword handling
Refactor conditional logic of abstract member
Add ignored test for generic constraints
Add test for record extension members
Add test for union type extension members
Add test for class extension members
Various cleanup
Handle possible BaseType failure
Special formatting for properties with setter
Add ignored tests for static constraints
Handle union case attributes
Forgot test attribute
Fix exception with provided & erased types
Add comments explaining hack
Cleanup comments
Expose FSharpEntity extension members
Cleanup & renaming