Extract results management in separate class.

In order to extract results management in separate class, the following
modifications in class Engine are done:
- change type of scoreBoard field from Player[] to ScoreBoard;
- add maxPlayersNumber field;
- add resultsFileName field;
- replace method InitScoreBoard() with instantiation of ScoreBoard
class;
- modify method End() to use AddResult(IRecord) of ScoreBoard to store
player's mistakes;
- modify method ShowScoreboard()  to use GetAll() of ScoreBoard;

Remove field maxPlayersNumber from ScoreBoard class, because it is
managed in FIleStorage.

Override method ToString of PlayerRecord class.