Created Ranking\Entity\Team::filterRace to normalize race strings.

Since the race attribute is a plain string, it can come in many
different forms: Arm, arm, ARM, aRM, etc...
This *filter* method normalizes it to: Arm.
Tests were also added to assure that.
Created Ranking\Entity\Match::addTeam()

- Better code coverage for Map, Team and Match entities tests
Created Ranking\Entity\User::setId to be used when defining teams.

- Created also the getIdValidator() used to validate IDs of users
- Created unit tests to keep up the 100% code coverage of this
  class

This validator could (and probably will) be used in many different
controllers/routes, much of that use would be in the Match routes.
Created basic controler for /users/*/matches

The controller already has tests and validates inputs like:
- when the match was played
- which players played it
- which map was played on
- the winning team
The next steps could be:
- Controller to handle user to team transformation
- Recording match into the database presuming a FFA match, each
  player is an independent team
- Making the user/player validation better in a match, searching
  for the currently logger user in the player list of a match,
  we will add him later on or somewhere into the space-time.
Created basic controller for /users/*/matches/teams.

The purpose of this controller is to set up players/users into
valid teams. Supporting many modes of game play with a limit of
10 players (TA's current limit), like: FFA, 1x1, 2x2, 1x2, 2x3.
This controller could be repeatedly called (not implemented) and
sort out if the teams are already defined or if needs more
interaction. Each call to that route should bring the teams close
to a solution.
This work can be easily done by the machine now, but in the future
would be nice to allow all the players already registered to
interfere and validate their team on matches created by another
player.
Better tests for Ranking\Route\Match\Post

- Better dependency between tests
- Every test has an assertion now (they didn't, that's crazy, I
  know)
Improved testdox output by namespacing all tests
Created Ranking\Domain\Transaction\UsersToTeams.

This *transaction* should receive users (**addUser**) and race
information about that user and create a team considering the
race chosen, the user and a team number that is always different
for every player (from the 10 possible), supposing a FFA game
match style.

The *Scriptable* interface should be used later on by a different
class thet will run all possible transactions in a pre-defined
order of sulution.

Each *transaction* is a small step towards the game style solution.
Suppose we have this teams in a game:
- tbon3, racx and no-mercy
- dands, sukkoy, zinato
Another step should solve the problem of defining the same team
number for players on the same team so in the end we would have:
- Team 1: tbon3, racx and no-mercy
- Team 2: dands, sukkoy and zinato
Note that the quantity of players in each team should not be
controlled in any form other than user input.
Created Ranking\Validation\Rules\Id.

These rules can be used inside validation once their class are
loaded, because of *class_alias*.
A *class_exists* on them work as done in /users/*/matches/team
route controller.
Better tests for /users/*/matches/teams.

Made tests reflect the validation change of the current looged
user into a team. The team data contained the same id that I
used in the setUp() of tests.
Created Ranking\Validation\Rules\Team.

- Removed TODO to refactor Id validator from
  Ranking\Route\Match\Team\Post
- Created tests for the new validator
- Created necessary Exception class for validator
- Tested Exception class
- Add the created validator in UsersToTeams transaction