launcher: move everything back into main().

I've had a bit of a change of heart on this one. the mark2 executable
script is now even more minimal (it doesn't catch exceptions) and
passes the result of main to sys.exit(). The result is that
mk2.launcher.main() is now compatible with setuptools scripts.
gitignore: ignore setup.py-related output