Cleanup method signatures.

As per guidelines only public methods should be typehinted as it is not cost-free.

This mainly removes the typehinting of protected methods that are mainly used from within the class.
Protected methods in often extended classes like Exception are not touched.