Removed the ability to blindly attached functions without first type
checking them; this is now performed by passing <nil> into
signals.New(). If no function pointer is provided via the New()
constructor, signals will not attempt to check the type. This is useful
if you're planning on *strictly* using EmitFunc*.
Interfaces have changed to reflect the above.