[#1700] Introduce RSpec::clear_examples method

As a developer on such heavy platforms like jruby or similar
Since loading times of such platforms could be overwhelming
In order to be able to run my specs multiple times from the same process
And to be able to not bother reloading my non-standard tree of spec_*_helper files
I want to be able to clear defined examples without wiping my configuration


This one should fix this issue: https://github.com/rspec/rspec-core/issues/1700 
@myronmarston, comments are welcome!
@undefinedvalue, it would be great if you tried this out, feedback is welcome. You need to replace this https://github.com/hanachin/rspec-console/blob/support-rspec3/lib/rspec-console/runner.rb#L14-L15 with this:

```ruby
RSpec.clear_examples
```
I have gone through classes that hold some kind of config and/or state and classified these config options and state variables into config only, runtime only and config+runtime. Here is what I got: https://gist.github.com/waterlink/2d651a9c648c985c4239

So looking at these and how `Runner` configures things through `ConfigurationOptions`. It would be great to have additional thin layer between configuration object and its consumers.

Probably `RuntimeConfiguration` (or some better name). Instance of this class will hold a reference of original `Configuration` instance and will be available as `RSpec.runtime_configuration`. Whenever you want to read some setting from it, it will check, if this setting was set on itself and return it if yes, or fallback to delegating to original configuration instance if not. Whenever you set some option on it, it will store this setting on itself and will not touch original configuration in any way. This instance will have a method `#reset` that will clear everything that is stored currently on it. Normal configuration (using `RSpec.configure` or `RSpec.configuration.whatever=` directly) will operate on original configuration object as it is now.

And looking at `FilterManager`, it seems the same thin layer is required for it. And `RSpec.configuration` will hold normal `FilterManager`, but `RSpec.runtime_configuration` will hold `RuntimeFilterManager`. `RuntimeFilterManager` will keep reference of `RSpec.configuration.filter_manager` as its original non-runtime configuration. `RuntimeConfiguration#reset` additionally will `#reset` delegate to its `filter_manager`.

`Reporter` and `World` doesn't need such thing, because they are runtime only already. `World` already has `#reset` method, that does the right thing. Left is to implement `Reporter#reset`.

If you see this idea having a chance, I can hack on it in different branch today or tomorrow and then propose it as a PR.