few patche's.

hey. i found these two patch's useful. i'd like to offer them back if you find them useful. the alias of `UnpatchedGem#gem` as `UnpatchedGem#rubygem` is because under certain circumstances it seemed to resolve to `Kernel#gem` from rubygems. the second patch supports an IO representation of Gemfile.lock,so `@root` is considered nil and the contents are read via `#read` before being passed into the lockfile parser. the old behavior is the same if the argument isn't IO-like. thanks!