Fixed self value in a block is changed with return value

fix #1504
Fix self value in a block is changed with return value for Fixnum, nil, instance variable.

Fix #1504
Merge pull request #1505 from ktaobo/return-breaks-self

Fixed self value in a block is changed with return value