require should accept a Pathname object like Kernel#require

Hi,

Kernel#require accepts a `Pathname` object (actually [any object that responds to `to_path`](https://github.com/ruby/ruby/blob/e1bb07105fec078067c269229e9e29a2a6d0280e/file.c#L188-189)), but Rubygems' `require` does not.  Here is a demo:

```
$ ruby -rpathname -e'require Pathname.new("psych")'
$ ruby -rpathname -e'require "active_record"'
$ ruby -rpathname -e'require Pathname.new("active_record")'
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:109:in `end_with?': no implicit conversion of Pathname into String (TypeError)
	from /Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:109:in `rescue in require'
	from /Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:35:in `require'
	from -e:1:in `<main>'
$
```

This pull request has a test case.  I haven't looked in to fixing it.  :-)