Disable CF_COLOR when not in a tty

This only changes the default when CF_COLOR is not specified.
CF_COLOR=true continues to be the default on non-windows systems when
running in a tty. When NOT in a tty, after this change CF_COLOR defaults
to false (but you can explicitly enable colours in this case by setting
it to true, rather than leaving it empty). CF_COLOR=false always
disables, CF_COLOR=true always enables (unless you're on windows),
CF_COLOR not set does something intelligent based on whether stdout is a
terminal.