Fix search dirs used for pre-processing executables
It was combining the executable's hs-source-dirs with the library's hs-source-dirs when pre-processing executables. This was inconsistent with the search path used for finding ordinary .hs files and with sdist and lead to confusing behaviour. See ticket #161. If an executable needs source files from the library then it must specify the right hs-source-dirs, including '.' if appropriate. The behaviour is that if hs-source-dirs is not specified then the default is '.' however if hs-source-dirs is specified then '.' is not implicitly added. If it's needed then it must be added explicitly. This was always the case for ordinary .hs files, this patch just brings things into line for files that need pre-processing.