clarifying Ghc and IO.
refactoring.
Using Options.
Refactor the way packages databases are handled

- cradle now stores a list of active package databases instead of only
  the user store (if present).

- rename `cradlePackageDb` -> `cradlePkgDbStack` as that`s what the ghc
  documentaion calls this kind of thing

- `getPackageDbPackages` now returns names of all visible packages in
  the given directory. Also the implementation now uses `ghc-pkg`
  instead of manually looking at the package database
Only add available package to ghc options

Fixes #185
Add cabal.sandbox.config.in to Extra-Source-Files
User ghc's cProjectVersionInt to get version information
Merge branch 'dev' of git://github.com/DanielG/ghc-mod into DanielG-dev
removing warnings.
just style.
hlint hack.
style.