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.
Fix filepath handling on Windows.

On Windows, Test CabalAipSpec/getCompilerOptions fails with a following messages.

    1) CabalApi.getCompilerOptions gets necessary CompilerOptions
    expected: CompilerOptions {ghcOptions = ["-no-user-package-db","-package-db","/home/me/work/ghc-mod/test/data/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d","-XHaskell98"], includeDirs = ["test/data","test/data/dist/build","test/data/dist/build/autogen","test/data/subdir1/subdir2","test/data/test"], depPackages = [("Cabal",Nothing),("base",Nothing),("template-haskell",Nothing)]}
     but got: CompilerOptions {ghcOptions = ["-no-user-package-db","-package-db","/home/me/work/ghc-mod/test/data/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d","-XHaskell98"], includeDirs = ["test\\data","test\\data\\dist/build","test\\data\\dist/build/autogen","test\\data\\subdir1\\subdir2","test\\data\\test"], depPackages = [("Cabal",Nothing),("base",Nothing),("template-haskell",Nothing)]}

So we normalize filepath before assert.
Fix windows tempfile handling

On Windows, `ghc-mod lint` fails with following message.

    ghc-mod: DeleteFile "<Ommit>\\Temp\\ghc-mod-hlint8464": permission denied <Ommit>

Perhaps, On Windows, GHC opens file exclusively.
So, we move `removeFile` to `finally`.