As noted by Xamarin Studio's static analysis, abstract classes constructors should be protected, not public.
A whole lot of refactoring based on the static analysis provided by Xamarin Studio
Merge pull request #405 from Orvid/codeissuescleanup

Static Analysis Cleanup, semantic highlighting improvements, completion item icon improvements.
.
More cleanup