Add support for 'main-is' to 'cabal init'

An updated version of #1560 with review comments by @byorgey addressed.