fix issue #4 without changing existing behaviour, just introduce new opti...

Thanks for being looking into my request deeply.

How about just introduce a new option '--color=yes|no|auto' to override $color_patch variable (color_patches setting), and don't change the original "-f STDOUT" condition but force colors on/off according to the value of $colormode.  The key change would be

    -if ((-f STDOUT) && ($color_patch == 0)) {
    +if (((-f STDOUT) && ($color_patch == 0)) || ($colormode eq "no")) {

I am sending a new pull request based on the start point where I forked: a79dc09.

    ~/ws/colordiff $ git log --pretty='%h %s (%an)' -2
    a0e7e9c fix issue 4 without changing existing behaviour, just introduce new option --color=yes|no|auto (Matthew Wang)
    a79dc09 Add '--fakeexitcode' option. (Dave Ewart)

I tested with following use cases:

### With color_patches=yes
- Expects color
  - git diff a79dc0 | ./colordiff.pl
  - git diff a79dc0 | ./colordiff.pl --color=yes
  - git diff a79dc0 | ./colordiff.pl --color=auto
  - git diff a79dc0 | ./colordiff.pl | less -r    
  - git diff a79dc0 | ./colordiff.pl --color=yes | less -r
  - git diff a79dc0 | ./colordiff.pl --color=auto | less -r
  - git diff a79dc0 | ./colordiff.pl > out
  - git diff a79dc0 | ./colordiff.pl --color=yes > out
  - git diff a79dc0 | ./colordiff.pl --color=auto > out
- Expects no color
  - git diff a79dc0 | ./colordiff.pl --color=no
  - git diff a79dc0 | ./colordiff.pl --color=no | less -r
  - git diff a79dc0 | ./colordiff.pl --color=no > out
  
### With color_patches=no
- Expects color
  - git diff a79dc0 | ./colordiff.pl
  - git diff a79dc0 | ./colordiff.pl --color=yes
  - git diff a79dc0 | ./colordiff.pl --color=auto
  - git diff a79dc0 | ./colordiff.pl | less -r    
  - git diff a79dc0 | ./colordiff.pl --color=yes | less -r
  - git diff a79dc0 | ./colordiff.pl --color=auto | less -r
  - git diff a79dc0 | ./colordiff.pl --color=yes > out
- Expects no color
  - git diff a79dc0 | ./colordiff.pl > out
  - git diff a79dc0 | ./colordiff.pl --color=auto > out
  - git diff a79dc0 | ./colordiff.pl --color=no
  - git diff a79dc0 | ./colordiff.pl --color=no | less -r
  - git diff a79dc0 | ./colordiff.pl --color=no > out