Modularize analysis code

**Description:** modularize the analysis code so hard that you can think about this PR as as rewrite. Now the generic game modeling lies in the root package and everything relative to coinffeine exchange within the `exchange` package. Note that now, pure and mixed strategies can be represented by themselves and you can analyze games with two, one or none of the parties behaving as standard players or not.

Other important changes include: using a Parameters case class instead of a global object with constants (for flexibility), having multiple game states (handshaking, exchanging, etc) and moving the logic to just the states (instead of having it spread between actions and the previously monolithic state).

**Testing:** I've generated analysis for all the cases and also modeled simpler games (tic-tac-toe and pass-the-parcel) to validate the code extracted as generic.