Emit warnings when undefined interfaces are implemented
Emit warnings when undefined interfaces are implemented

We'll now emit a nice warning when a user implements an interface that
isn't defined. Retro active registry still works--so if the user defines
the interface before calling the function, the implementation is
registered correctly, so we only show a warning since so long as the
interface is defined before use, implementing it before it's defined is
OK.

carp-lang/Carp,eriksvedang/Carp,carp-lang/Carp,carp-lang/Carp,eriksvedang/Carp