Add spec for require after $LOAD_PATH change

When developer add something to $LOAD_PATH and require once again the same file ruby should not require it once again.

Example:

Rubinius have `lib/racc/parser.rb` file. And this file will require after bootstrap.

```ruby
require 'racc/parser'
```

After require `rubygems` `$LOAD_PATH` will change and now we have access to two version on `racc/parser` (from Rubinius `/lib` and `/gems/racc`). When user try to require once again rubinius will search via `$LOAD_PATH` and hit `racc/parser` from _RUBYGEMS_. In ruby 1.9 mode all paths are expanded so rubinius will require once again `racc/parser`. This is because in `$LOADED_FEATURES` we can find only `[rubinius_path]/lib/racc/parser.rb`. When CodeLoader will find file in `$LOAD_PATH` (`[rubygems]/racc/parser.rb`) and full path of this file is not part of `$LOADED_FEATURES` so `parser.rb` file will be load once again.

Any ideas how to recognize already loaded file (but from other full path)?

This spec reproduce @txus gist [click](https://gist.github.com/3511989)
Related to issue #1571