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. 
Could you add a new constructor to `GhcModError`, maybe something like `GMECabalFlags` and wrap the GMEString in that? That should make the cause of potential errors more obvious to the user.