Initial support for gem-uninstall
Add Code Climate badge to README
Merge pull request #964 from noahd1/master

Add Code Climate badge to README
extract Pry::RescuableException to lib/pry/rescuable_exception.rb
pry.rb: Move all exception specific code to its own file

This finishes up Robert Gleeson's refactoring. A sole file for
RescuableException doesn't make much sense, since we have a few more
exceptions left behind.
Coderay version updated
Merge pull request #967 from gpsnail/master

Coderay version updated
Allow ARGV to be mutated during option parsing

Reverts
https://github.com/pry/pry/commit/f4d1f448bb79a8c428ad2f9c59139f831103688d
and passes ARGV rather than ARGV.dup to Pry::CLI.parse_options
by default.

@banister wasn't sure why that change was made in the first place, so
there's a wee bit of risk here. But all tests continue to pass,
and everything looks fine. If something does break, let's make sure
to add tests for it this time around! <3 <3 <3

Resolves https://github.com/pry/pry/issues/968, where
the '-r' argument was being passed through and throwing an error
when the file being required began with #puts
Merge pull request #969 from DanielleSucher/fix-issue-968

Allow ARGV to be mutated during option parsing
Have show-doc suggest installing pry-doc in Ruby 2.0
blacklist rbx18/19 for now.
Refactor BaseHelpers with #mri?
Check for any mri version in Pry::Method#pry_doc_info
Merge pull request #970 from DanielleSucher/fix-issue-956

Have show-doc suggest installing pry-doc in Ruby 2.0
Show method docs for Foo() and class docs for Foo
Merge pull request #972 from DanielleSucher/show-doc-for-top-level-methods

Show method docs for Foo() and class docs for Foo
Need the whitespace.
Merge pull request #977 from sbryant/no-string-suffixes

Fix ruby 2.1 string issue.
add Pry::CommandSet#[]=.

Pry::CommandSet#[]= can be used to re-assign commands or add new ones to
a command set. The key matches the pattern of a command you'd like to
replace and the value is the command you'd the pattern to be matched
with.

The key is really important. You could say this:

Pry.commands.command "hello" do
  output.puts "Hello! :)"
end
Pry.commands["help"] = Pry.commands["hello"]

I would expect "help" to print "Hello! :)", but the command is bound to
the pattern "hello". A new copy of the "hello" command is created
and the key is used as the match pattern, so "help" will print "Hello! :)".

You can use #[]= to replace commands, maybe your own 'help' implementation:
Pry.commands["help"] = MyHelpCommand

Commands can also be deleted by assigning a value of nil:
Pry.commands["help"] = nil

I decided to implement this based on SO post found here:
http://stackoverflow.com/questions/17475829/configure-help-output-in-pry
add basic CommandSet#[]= tests.