More improvements to null analysis

It now correctly detects use of fields (instead of local variables), which should reduce make it more accurate.
Improved handling of captured variables.
Detect dead-ends (expressions that trigger exceptions) -- such as "x.Foo" where x is null and Foo is **NOT** an extension method nor Nullable<T>.HasValue.
Respect the cancellation token.
In general, this should improve the accuracy and responsiveness of the null value analysis.
Also, reactived the ConstantNullCoalescingConditionIssue.

Let me know if you still get any problems with this version.