fix a bug in `undef' which it could call undefined method if call it once

Test Code:
----
class Foo
  def meth
  end
end

obj = Foo.new
obj.meth

class Foo
  undef meth
end
p obj.meth

Result:
----
$ macruby test_undef.rb
nil

Expected:
----
ruby test_undef.rb
test_undef.rb:12:in `<main>': undefined method `meth' for #<Foo:0x007f8231935d18> (NoMethodError)
fix a bug in Module#remove_method which it could call undefined method if call it once

Test Code:
----
class Foo
  def meth
  end
end

obj = Foo.new
obj.meth

class Foo
  remove_method :meth
end
p obj.meth

Result:
----
$ macruby test_remove.rb
nil

Expected:
----
$ ruby test_remove.rb
test_remove.rb:12:in `<main>': undefined method `meth' for #<Foo:0x007fad558b9cc8> (NoMethodError)
update spec's tag