Feature/rest gamehist service

@Mequrel , @mgruszka , @p4r4noj4 , @Adebski please verify. 
In my personal opinion, we should store players initial positions in map dictionary from https://confluence.iisg.agh.edu.pl/display/ietanks/Front-end 's /api/game/{gameId} POST method, because events store only relative position changes. This should be discussed with fron-end guys @p4r4noj4 , @mgruszka .

You may try to use Optional type introduced in Java 8 to communicate to the API user that some method may return null: https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html. It may help with clarity - we will know what methods can return "nulls" so in the future we can avoid checking for nulls everywhere.