Error Handling

Added extensive error handling, and ability to change attempts, change
game type or exit during game