Add a search for installed executables

ghc-pkg list doesn't find things installed without libraries
apparently.

This patch will also search ~/.cabal/packages/hackage.haskell.org for
the library you're asking to cabal install.
Merge pull request #1 from perurbis/cabal-look-for-executables

Add a search for installed executables by searching package cache in
~/.cabal/packages/hackage.haskell.org directory.

Note that this might produce false positives in some cases, but it is good
enough if it's used only for remotely managed systems.

Cases when it might produce false positives:

* Cabal fetch/unpack was invoked on specific package, but not cabal install.
* Package failed to install.

There are also a cases when it won't be able to find package:

* Manually specified "remote-repo-cache" clause in "~/.cabal/config" that is
  different then "~/.cabal/packages".
* Using different "remote-repo" values like in case of Hackage2, local Hackage
  mirror, etc.