Dedupe include dirs inherited from dependencies
Dedupe include dirs inherited from dependencies

If you build a big number of packages, all with
the same extra -I flags, the flags get inherited
by the dependent packages and duplicated.
For big dependency trees it can exceed the
maximum command line length on some systems,
this happened to me with Linux and hoogle 5.

This patch decreases the redundancy by
dropping all but the first occurrence of
an include dir, preserving the semantics,
as they are processed left to right.

themoritz/cabal,mydaum/cabal,mydaum/cabal,themoritz/cabal,themoritz/cabal