Quickfix to change the capitalization of a method/field invocation

When you try to invoke a method that doesn't exist on a class, this quickfix will offer to change the capitalization if there is another method with the same spelling but different case that exists. For example, changing "abc".subsequence(0, 1) to "abc".subSequence(0, 1).

One limitation is that the compiler will not give type completions after an error. To get around this, we create a Typer and ask for the type of the target, and then get all members on that target. Unfortunately this does not include members that would be available via implicit conversion.
This limitation applies any time you are trying to invoke a method on anything other than the current class. If you are using the unqualified "someMethodWithWrongCase()", we can ask for completions that include members from implicit conversions.

Fix #1001778
Merge pull request #458 from dnadolny/quickfix-change-case-1001778

Quickfix to change the capitalization of a method/field invocation