Module#ancestors now includes singletons themselves

Since Ruby 2.1, calling #ancestors on a singleton class should now
include the class itself in the chain.

Since BasicObject is at the very base of the ancestors, we also need to
change the meta class of Object so that BasicObject's singleton class
correctly get included in the chain.
Merge pull request #1870 from robin850/singleton-ancestors

Module#ancestors now includes singletons themselves