Moved the driver functionality into Main and simplified it.

Also, I reorganized the ordering and grouping in Main.
Added source repository to the cabal file.