Improve method resolution rules for multiple inheritance

With this change MuranoPL can find correct base class method
where old implementation would throw AmbiguousMethodName.

Also removes possibility to have several methods with the same name
but different signature.  This feature didn't worked in most cases,
never used anc could cause unexpected program behavior

Implements: blueprint muranopl-multiple-inheritance-method-resolution

Change-Id: I0a3149b993b1b8a9e9166fce13999e7dd7bf48a5
Merge "Improve method resolution rules for multiple inheritance"