The definition of `color` is interesting:

``` ruby
      # Check if color is enabled.
      # @return [Boolean]
      def color(output=output_stream)
        # rspec's built-in formatters all call this with the output argument,
        # but defaulting to output_stream for backward compatibility with
        # formatters in extension libs
        return false unless output_to_tty?(output)
        value_for(:color, @color)
      end
```

I almost wonder if we should have `color` simply return whether or not the user has configured color to be on (without accepting or considering an output argument) and then we can have a `color_enabled?` predicate that accepts an output argument.  I like this for a few reasons:

* It makes the behavior of `color=` and `color` consistent.  As things stand now, someone can set `color = true` and then `color` can return false, which would be confusing.
* I like the config option name being `color` to align with the CLI, but from within our code when we're checking if color is enabled, I like `color_enabled?` better.

Thoughts?