Kernel#methods

Specs fixed:

Kernel#methods
- returns singleton methods defined by obj.meth
- returns singleton methods defined in 'class << self'
- returns private singleton methods defined by obj.meth
- returns singleton methods defined in 'class << self' when it follows 'private'
- returns the publicly accessible methods in the object, its ancestors and mixed-in modules
- returns methods added to the metaclass through extend
- does not return undefined singleton methods defined by obj.meth
- does not return superclass methods undefined in the object's class
- does not return superclass methods undefined in a superclass
- does not return included module methods undefined in the object's class

Kernel#methods when not passed an argument
- returns a unique list for an object extended by a module
- returns a unique list for a class including a module
- returns a unique list for a subclass of a class that includes a module

Kernel#methods when passed true
- returns a unique list for an object extended by a module
- returns a unique list for a class including a module
- returns a unique list for a subclass of a class that includes a module