Improve the UI

This commit changes 2 things:

1) cleaner user interface
2) add 'retry' option even when the provided submission was correct
Merge pull request #110 from mhinz/master

Add 'retry' option for correct solutions
Make shell handle ^C/^D gracefully
Merge pull request #111 from mhinz/master

Make shell handle ^C/^D gracefully
Merge remote-tracking branch 'upstream/master' into patch-1
Write all input/output files correctly