Refactor majority of project based on Pylint report

Still a few more issues to resolve:

************* Module tic_tac_toe_challenge
C:  1, 0: Missing module docstring (missing-docstring)
************* Module tic_tac_toe_challenge.__main__
W:  7, 0: Relative import 'tic_tac_toe.curses_game_screen', should be 'tic_tac_toe_challenge.tic_tac_toe.curses_game_screen' (relative-import)
************* Module tic_tac_toe_challenge.tic_tac_toe.board
R: 25, 0: Too few public methods (0/2) (too-few-public-methods)
R: 43, 0: Too many instance attributes (14/7) (too-many-instance-attributes)
R:176, 4: Method could be a function (no-self-use)
R:194, 4: Method could be a function (no-self-use)
************* Module tic_tac_toe_challenge.tic_tac_toe.curses_game_screen
F:  7, 0: Unable to import 'tic_tac_toe.board' (import-error)
R: 67, 0: Too many instance attributes (18/7) (too-many-instance-attributes)
W:106, 8: Attribute 'line_number' defined outside __init__ (attribute-defined-outside-init)
W:137, 8: Attribute 'error_colors' defined outside __init__ (attribute-defined-outside-init)
W:145, 8: Attribute 'losing_colors' defined outside __init__ (attribute-defined-outside-init)
W: 97, 8: Attribute 'board' defined outside __init__ (attribute-defined-outside-init)
W:149, 8: Attribute 'last_move_colors' defined outside __init__ (attribute-defined-outside-init)
W:141, 8: Attribute 'winning_colors' defined outside __init__ (attribute-defined-outside-init)
************* Module tic_tac_toe_challenge.tic_tac_toe.tests
W:182, 0: XXXO-X' (fixme)
F:  5, 0: Unable to import 'tic_tac_toe.board' (import-error)
R:148, 0: Too many statements (54/50) (too-many-statements)

Report
======
722 statements analysed.

Messages by category
--------------------

+-----------+-------+---------+-----------+
|type       |number |previous |difference |
+===========+=======+=========+===========+
|convention |1      |1        |=          |
+-----------+-------+---------+-----------+
|refactor   |6      |6        |=          |
+-----------+-------+---------+-----------+
|warning    |8      |8        |=          |
+-----------+-------+---------+-----------+
|error      |0      |0        |=          |
+-----------+-------+---------+-----------+

% errors / warnings by module
-----------------------------

+-----------------------------------------------------+------+--------+---------+-----------+
|module                                               |error |warning |refactor |convention |
+=====================================================+======+========+=========+===========+
|tic_tac_toe_challenge.tic_tac_toe.curses_game_screen |0.00  |75.00   |16.67    |0.00       |
+-----------------------------------------------------+------+--------+---------+-----------+
|tic_tac_toe_challenge.tic_tac_toe.tests              |0.00  |12.50   |16.67    |0.00       |
+-----------------------------------------------------+------+--------+---------+-----------+
|tic_tac_toe_challenge.__main__                       |0.00  |12.50   |0.00     |0.00       |
+-----------------------------------------------------+------+--------+---------+-----------+

Messages
--------

+-------------------------------+------------+
|message id                     |occurrences |
+===============================+============+
|attribute-defined-outside-init |6           |
+-------------------------------+------------+
|too-many-instance-attributes   |2           |
+-------------------------------+------------+
|no-self-use                    |2           |
+-------------------------------+------------+
|import-error                   |2           |
+-------------------------------+------------+
|too-many-statements            |1           |
+-------------------------------+------------+
|too-few-public-methods         |1           |
+-------------------------------+------------+
|relative-import                |1           |
+-------------------------------+------------+
|missing-docstring              |1           |
+-------------------------------+------------+
|fixme                          |1           |
+-------------------------------+------------+

Global evaluation
-----------------
Your code has been rated at 9.79/10 (previous run: 9.79/10, +0.00)

Raw metrics
-----------

+----------+-------+------+---------+-----------+
|type      |number |%     |previous |difference |
+==========+=======+======+=========+===========+
|code      |751    |54.34 |751      |=          |
+----------+-------+------+---------+-----------+
|docstring |394    |28.51 |394      |=          |
+----------+-------+------+---------+-----------+
|comment   |127    |9.19  |127      |=          |
+----------+-------+------+---------+-----------+
|empty     |110    |7.96  |110      |=          |
+----------+-------+------+---------+-----------+

Duplication
-----------

+-------------------------+------+---------+-----------+
|                         |now   |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines      |0     |0        |=          |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |0.000    |=          |
+-------------------------+------+---------+-----------+

Statistics by type
------------------

+---------+-------+-----------+-----------+------------+---------+
|type     |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
|module   |6      |6          |=          |83.33       |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|class    |6      |6          |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|method   |53     |53         |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|function |10     |10         |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+

Signed-off-by: Shawn Frame <shawn.frame@indepthstudios.com>