Optional value mismatch

This adds an issue to detect when the default value of an optional parameter is different from its base (or interface) method.
The branch is incorrectly named -- this checks for the value, not for the name.

If the parameter is not optional in the base method but it is in the overriden, the issue does not complain. But it does complain when optional parameters aren't optional in overriden methods.