SI-7852 Test to show the status quo bytecode for "" == ...

Will be somewhat leaner after the next commit.
SI-7852 Omit null check for "".==

Although the same the code would be later optimized by -Yconst-opt,
we can offer the same lean byte code to those compiling without that
option by being more discerning when translating ==.

This helps people using bytecode based code coverage tools
such as jacoco that would emit "branch not covered" warnings
for the impossible null check.
SI-7852 Test to show status quo of for SomeModule.==

For which we can also elide the null check, and will in the
next commit.
SI-7852 Omit null check for SomeModule.==

For the same reasons outlined in the previous commits.
SI-7852 Refactor null-elision tests to be more focussed

 - Directly count null checks, rather than diffing the textual
   bytecode of the entire method
 - Add a test to show that the LHS needs to be a direct module
   reference, not just a tree with a module type, to elide the
   null check.
Merge pull request #2954 from retronym/ticket/7852

Avoid null checks when emitting "".== and SomeModule.==