Added unit test for a bug I ran over

Inside a module the method defined? didn't work correctly.
The first part makes sure that when a variable @foo inside module A was not
defined at all defined?(@foo) will return false inside A.
The second part makes sure that when a variable @foo was defined as nil inside
A defined(@foo) will return true (and not false because @foo is nil).
Changed W_ModuleObject.find_instance_var

All unit tests run now.
Modified LOAD_INSTANCE_VAR in the interpreter

The unit tests all still pass and I think that this is the right place to
return space.w_nil when space.find_instance_var returns None.