Fixed more bugs identified by Jacks: Round 3.  Added relevant test
cases.

- Checked incompatible return types of inherited abstract methods.
- Checked correctness of casting conversion between interface types.
- Protected methods (e.g., clone()) are not inherited by interfaces.