Add support for .hsc files when using ghc-mod

Haskell's ghc-mod does not support checking .hsc files directly and recommends
preprocessing with hsc2hs before doing so. This commit implements some changes
into the ghc_mod checker to work around that limitation:

When the checker is invoked, hsc2hs will be used(if available) automatically to
preprocess the .hsc file into temporary .hs file which is used by ghc-mod.

Since extra include directories may be needed to preprocess the file, a global
variable - g:syntastic_haskell_ghcmod_hsc2hs_flags - can be used to specify
those flags(using normal -I syntax needed by the C compiler) which are passed to
hsc2hs.

If the g:syntastic_haskell_ghcmod_hsc2hs_flags is not set, the checker will do
minor parsing of .cabal and .buildinfo files to try extracting those flags from
'include-dirs' options.
Merge branch 'master' of github.com:scrooloose/syntastic