More fine-grained options for ignore_whitespace (all, change, none).

```ignore_whitespace``` now accepts one of the following options:

* <tt>all</tt>: ignore all whitespace (```git show -w```)
* <tt>change</tt>: ignore changes in amount whitespace (```git show -b```)
* <tt>none</tt>: whitespace is not ignore  (just plain ```git show```)

(For backward compatibility <tt>true</tt> maps to <tt>all</tt> and <tt>false</tt> to <tt>none</tt>.)