Clean up BacktraceCleaner

The global configuration object exposes exclusion_patterns,
inclusion_patterns, and full_backtrace for modification at any time
during a run. This means that it would be perfectly reasonable for a
user to turn full_backtrace on and off around specific examples, and
also change the content of each patterns array at any time.

This commit does a number of things:

* clarifies examples
* decouples full_backtrace from exclusion_patterns
* makes it so that setting full_backtrace true or false
  preserves the content of exclusion_patterns and inclusion_patterns.
* simplifies the constructor
  * no args (no code outside examples submitted args to constructor)
* simplifies default backtrace inclusion patterns
  * consistent default regardless of exclusion patterns
    * eliminates order dependency of assignments
    * does not conflict with behavior of keeping anything in working
      directory by default
* simplifies the format_backtrace helper
  * collapses it into (effectively) piped iterators
  * see benchmarks/index_v_take_while.rb
remove spec_helper from default backtrace exclusions

Also moved examples for backtrace cleaner defaults to backtrace cleaner
spec (from configuration spec).
use a guard to clarify the decoupling of in/exclusion patterns from full_backtrace
docstring improvements
tweak docs for configuration.backtrace_(in|ex)clusion_patterns
merge exclusion patterns using Regexp.union

Per benchmarks, this is 2 to 3x faster.
be true or false (v truthy or falsey)
Move all backtrace filtering to one place

Backtrace filtering was ultimately managed by the BacktraceCleaner
(now called BacktraceFormatter), but sometimes went through what
was called the BacktraceFormatter. Specs for formatting backtraces
were in a few different places.

Now it's all managed by one object and all the specs are in one place.

Leaves a temporary delegator to support rspec-expectations until that
code is modified to use RSpec.configuration.backtrace_formatter instead
of RSpec::Core::BacktraceFormatter.

Also leaves an alias for Configuration#bactrace_cleaner. Need to decide
whether to leave that in place or deprecate it in 2.99 w/ removal in
3.0.
Display full backtrace when every line filtered.

Restores previous behavior and adds a message to the backtrace
explaining that we're showing the full backtrace because every line was
filtered.
extract let
align definitions of regexps and use File::SEPARATOR

NOTE: I didn't run this on Windows so I don't know if it actually
passes on Windows yet.
1.8.7 likes the dot on the same line as the receiver