add `Pry::Output`, & always respect `_pry_.color`.

makes sure all writes by pry commands and pry to `Pry#output` make a
decision about color based off `_pry_.color` and not `Pry.color` while
in a repl session.

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

pry commands no longer need to worry about checking `_pry_.color` anymore
before writing to output because pry takes care of it.

closes #1161