Find original sources for main-is when creating sdist
Also add a package sanity check that main-is must specify a .hs or .lhs file. So the bahaviour is now that main-is specifies the main source file, even if that is generated by a pre-processor. This isn't really a change in behaviour since previously if you specified main-is: main.hsc then it would try to pass the .hsc file to ghc dirctly which would not work. For ticket #14 things were fixed to that it would look for main.hsc if you used main-is: main.hs an that file did not exist directy. This completes the other half, of actually being able to make a src distribution. So this should fix bug #217. Note that this still needs some work, we do not run platform-independent preprocessors and put the result into the tarball for main-is files. Generally, main-is has been the second class citizen compared to normal modules. We should try and refactor so both use the same code paths.