[refactoring] Using forward declaration instead including in headers.
[refactoring] Fix gitignore.
[refactoring] Merge answers in one function and negate misleading return value.
[refactoring] Add comments.
[refactoring] Move inner useable methods to private.
[refactoring] Logically outstanding _max_places has been removed from the Player class.
[refactoring] Checking win has been outsourced from the answer method.
[refactoring] Fix indentation.
[refactoring] Fix binary's name and add temp files.
[refactoring] Make the public methods virtual.