colors, and guard against writing when don't have permission to

+ Disable colorized output when in non-interactive mode.
+ Correctly handle the -c option for setting default color.
+ Don't try to write to scratch file to page result output if the
  home directory isn't writable.