Cabal support

This patch adds support of Cabal packages.

Hdevtools currently doesn't know anything about Cabal system: it can't find out source code directories, package database locations, list of packages or Haskell language extensions to use.

This patch adds support of extracting GHC options based on Cabal package description, support for Cabal sandboxes.