wrap repl's output IO in Pry::Output.

`Pry::Output`  ensures all writes by pry and pry commands to
`Pry#output` make a decision about displaying color based off
`_pry_.color` instead of `Pry.color` by wrapping the IO object
being used for output.

when `_pry.color` is false shell color codes are stripped before
being written to the underlying IO object that `Pry::Output` wraps.

pry commands don't need to worry about checking `_pry_.color` or
`Pry.color` anymore since the wrapper class takes care of it in one
place. common methods used to write to an IO by pry and pry commands
are defined on `Pry::Output` and other methods are delegated to the
wrapped IO through `#method_missing`. `Pry::Output` is a subclass of
BasicObject and responds to very few methods out of the box.

the sad part is `gsub`'ing ansi color codes out of the output
when color has been disabled.

closes #1161
update `toggle-color` command to use _pry_.color
update CHANGELOG.md
fix inconsistency in wording between list-prompts and list-inspectors
restore input completion on injected locals on HEAD.

if new locals appear in `_pry_.config.extra_sticky_locals` during the
lifetime of the repl session they should also appear since auto completion
is happening outside #initialize and on user input.
remove reference to `Bond::DefaultMission`. closes #1180
remove all `Bond` references from pry. rel #1180
fix spec/commands/show_doc_spec.rb and use `_pry_.color` in tests.
remove old documentation helper spec.
remove call to Pry.color= that isn't used/needed
remove ReplTester::Output
strip color if _pry_.color is false and a pager is used.