Add .gitignore
Improve task1 solution
task1: add sign index variable
task2: simplify compose function, make it nested in iterate()
task2: simplify zip_with using built-in zip function
task2: improve variable names
small improvement of iterate()
task2: use OrderedDict instead of dict and deque
task2: use nested function instead of class for cache
task3: sort children by birth year
task3: improve is_direct_successor
task3: improve class attribute names
task4: make some methods static
task4: win status is now checked on every move