variable.c: move warnings to rb_ivar_get

* variable.c (generic_ivar_get, ivar_get): return undef value instead
  of Qnil with warnings, for uninitialized instance variable.
* variable.c (rb_ivar_get): warn for uninitialized instance variable
  here.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
marshal.c: no overwriting ivars

* marshal.c (copy_ivar_i): get rid of overwriting already copied
  instance variales.  c.f. [Bug #8276]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e