fix the behavior of Module#ancestors

The behavior of *Module#ancestors* is different than CRuby:
Example:
```ruby
class Demo 
end
p Demo.ancestors
p Demo.singleton_class.ancestors
```
CRuby 1.9.x~ 2.0.0 output:
```ruby
[Demo, Object, Kernel, BasicObject]
[Class, Module, Object, Kernel, BasicObject]
```
mruby output:
```ruby
[Demo, Object, Kernel, BasicObject]
[#<Class:Demo>, #<Class:Object>, #<Class:BasicObject>, Class, Module, Object, Kernel, BasicObject]
```
----
Although ISO Ruby says that if *receiver* of *ancestors* is a singleton class, the behavior is implementation-defined. I think that the behavior of *Moudle#ancestors* should be consistent in mruby and CRuby.