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.
Merge pull request #979 from pry/feature/reassign-command-set-commands

add Pry::CommandSet#[]=.