Compound IFace Support

Switching to all explicit declarations in the proxy type to allow
support for compound interfaces. Also now implementing all interfaces of
the given interface.
Revert "Compound IFace Support"

This reverts commit ca7adfedec41124f11544bc5cdc803dd3b066bb3.
Merge remote-tracking branch 'origin/master'