Undefine methods before redefining them

If you run RSpec test suite and turn on Ruby warnings (`ruby -w`), there are several warnings about method redefined:

* /lib/rspec/core/configuration.rb:191: warning: method redefined; discarding old pattern=
* /lib/rspec/core/example.rb:210: warning: method redefined; discarding old run
* /lib/rspec/core/example.rb:204: warning: previous definition of run was here

By `undef` these method first we can silence those warnings from Ruby.
It fixes it because there's a definition of `pattern=` below.  I think there's a better approach, though: rather than using `add_setting`, use `define_reader`.  `add_setting` is for cases where we want both the reader and writer methods generated but we want only the reader here.