Start step2

- add cell
- add game_set
- modify play
- add simplified labyrinth content
- remove end_of_line char
Finish step 2

- create laby.txt content
- create game_set methods
- add .gitignore file for future ignore entries
Finish Step 3

- add players classes (player, human_player, rand_player)
- add players attributes
- add query_next_direction to players classes
- modify GameSet#to_s to accept players array
Use 'rand' to random select a direction
Init Step 4
Extract matrix creation into private method
Finish Step 3

- add players classes (player, human_player, rand_player)
- add players attributes
- add query_next_direction to players classes
- modify GameSet#to_s to accept players array
Set players on a start point: 
* add x_start and y_start methods
* not display player index when being on the start point
Replace File.open with 'readlines'
Add support class to supply util methods
Call Engine#run
Require laby/support
Finish one steps play:
- add windows platforme to Gemfile.lock
- add Engine#run
- add directions hash to Player
- change the way to pass file name from ARGV (use pop)
- remove game_set from 'query_next_direction'  method parameter
- add support class to create players and get their x and y
Modify boolean method comparison for cell type
Add game_set to query_next_direction parameters

- game_set is used to check if a cell is accessible
- add accessible private method helper
Modify player_present for cell_occupied_by
Add loop block to loop to run method
Assigns an empty string if no file provided in ARGV
Modify #player_wins? to be shorter
Document the code and generate documentation