Untagged passing specs

Kernel#define_singleton_method
- defines a new method with the given name and the given block as body in self
- raises a TypeError when the given method is no Method/Proc
- defines a new singleton method for objects
- maintains the Proc's scope