A proposed refactoring of the option parsing code
Share option parsing between all haskell backend

Note: I am pretty sure that TargetHaskellGadt and TargeProfile only
support a subset of those options but the old help screen seems to imply
that they should all support the same flags.
Fix a few regressions introduced in a previous commit
Merge pull request #45 from gdetrez/option-parsing

Option parsing

A more structured option parser:

uses GetOpt to parse options and generate the help screen
gives proper error message for invalid options (instead of just defaulting to generating haskell, closes #25)
changes the type and the name of some of the backends for more uniformity