BasicObject includes itself as a constant

Specs fixed:

BasicObject
- includes itself in its list of constants
Fixed constant resolving

Specs fixed:

BasicObject
- raises NameError when referencing built-in constants
Fixed defined? for constants

Specs fixed:

BasicObject
- does not define built-in constants (according to defined?)
Break if not Class
Hash#default_proc=
fix Hash#fetch
Merge pull request #713 from kostya/hash_default_proc

Hash#default_proc=
Merge pull request #714 from kostya/hash_fetch

fix Hash#fetch
Changes per request
should be space, not self
Merge branch 'master' into constant_lookup

Conflicts:
	spec/tags/core/basicobject/basicobject_tags.txt
Merge pull request #705 from krekoten/constant_lookup

Constant lookup
Module#const_get

Specs fixed:

Module#const_get
- calls #const_missing on the receiver if unable to locate the constant
More passing specs

Specs untagged:

Module#const_missing
- is called when an undefined constant is referenced via #const_get
Module#const_missing

Specs fixed:

Module#const_missing
- raises NameError and includes the name of the value that wasn't found
Check if we are Object
Merge pull request #715 from krekoten/module_const_get

Module#const_get
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
Merge pull request #716 from krekoten/kernel_methods

Kernel#methods
Untagged passing spec

Spec untagged:

Module.allocate
- returns a fully-formed instance of Module