Pass on to GHC when given flags that conflict with -M.

Same for the critical --version and --numeric-version flags, which programs like cabal use to determine the GHC version.

ghc-make can now be used with cabal like `cabal build --with-ghc=ghc-make`.
Merge pull request #1 from nh2/nh2fixes

Pass on to GHC when given flags that conflict with -M.
Refactor the code to run ghc directly under certain flags
Move the main logic out into a module called Build, so I can test it
Update the changelog
Add a simple test case
Add .ghci support for running the test suite
Make the CI tool run the tests
Update changelog
Merge branch 'master' of https://github.com/ndmitchell/ghc-make

Conflicts:
	CHANGES.txt
Split the code processing GHC argument lists into a separate module
Delete the executables produced by the test
Change the Makefile to be a Map structure