Fix Class.getMethods() for visibility bridge methods.

We had a bug where we couldn't find synthetic methods added by
subclasses to boost visibility of their superclass methods.

The old logic appeared to work fine with the covariant return
type synthetic methods, but broke down on these visibility
synthetic methods.

For reference, the general rules are:
 - when there is a synthetic method for a covariant return type,
   include it in getMethods() but prefer the natural method on
   getMethod() calls.
 - when there is a synthetic method for a visibility boost, prefer
   it over the superclass method on getMethods() and getMethod()
   calls.

Change-Id: Ied1f9fc9892d211647da87959746839f7e0e1140
http://b/2908173
3 files changed