Add a git-grep wrapper to implement smartcase, for parity with git-viack in aliases

I now use the following two git aliases, for example:

    [alias]
        ack = "grep-with-smartcase -I --perl-regexp --break --heading --line-number"
        ag  = "grep-with-smartcase -I --perl-regexp --break --heading --line-number"

after symlinking git-grep-with-smartcase into my path.

With that in place, git ack and git ag match the behaviour of git viack
and git viag.