Fix member hiding to always purge placeholders
Expand member hiding logic to purge externals if a non-external is available
Throw if a method group contains multiple zero-argument methods
Tweaks and investigation for issue #578
Added test cases for issues #578, #585