Tests for existing cabal exec implementation
Pull exec into its own module

Some stylistic changes have been made but otherwise this works in the same
manner as the original implementation.
Use the ConfiguredProgram abstraction in exec
Improve exec help output
Add Exec to other modules
die instead of debug >> exitFailure
Merge pull request #1976 from benarmston/exec-refactor

Refactor exec command to use the ConfiguredProgram abstraction