Cleanup unused local var warning

We're not using the `ext` local variable, so just ignore it by taking
the first element from the split - the filename.
Cleanup method redefined warning for grep

Since we define a "reader" method, this is really an `attr_writer`.
Cleanup * interpreted as argument prefix warning

The splat was a bit ambiguous in these cases, resulting in a Ruby
warning. Adding parens makes it explicit and silences the warning.
Clean File.exists? deprecation warning

This API has been deprecated in Ruby 2.1, so use the File.exist? API.
Cleanup private attribute? warning

private attr_* methods raise a Ruby warning. Instead, just define a
simple reader method.
Cleanup method redefined warnings

These methods are defined via some metaprogramming earlier in the class.
Since they are also defined by the same mechanism in the pry_class file,
I've chosen to undef them prior to defining a new version. An
alternative would be to remove these from the
Pry::Config::Convenience::SHORTCUTS array and define them manually where
necessary.
Merge pull request #1256 from stevenharman/clean-up-ruby-warnings

Cleanup remaining Ruby warnings