Support cabal configuration flags

Currently, ghc-mod uses a project's default configuration flags for finalizing the `PackageDescription`. This means that if you're working on code that is only intended to be compiled with a non-default flag assignment, `ghc-mod check` will not actually check it. 

I've made the necessary changes such that `ghc-mod` will use the flag assignments from the local build info. This does change the signature of `parseCabalFile` slightly, becoming slightly less general, but it doesn't seem to break anything. 
I don't like the `findCradle'` call, just add `Cradle` as a parameter. It's available at all the call sites of `parseCabalFile` anyways so just pass it through.