Make logic in colors package more clear

Instead of double negating conditions we should try to express what the
state will be.
Add a hook for setting color from the config

[#71045474]
Change color enabled to a string

This is a bit of hack. We needed a ternary value because we need to capture
whether the user ENABLED it, DISABLED it, or did neither

[#71045474]
Uses --color value to enable/disable/ignore coloring

[Finishes #71045474]