Challenge Validator Controller

The new Challenge Validator Controller as explained in my application.
It's an interface between the challenge and the monitor (ChallengeMonitorController) and should be used to validate the answers from the students. Its goal is mainly to provide better *tools* to check the solutions (see `RegexSolution`).

I still have to provide more documentation (especially about `RegexSolution`). I'll do it at the end of GSoC, that way I'll have a more stable solution (I think that `RegexSolution` can still be improved).

I updated the 10 first challenges to use the class `ChallengeValidatorController`. If #90 is merged before this PR, I will update it to use this class in the new challenges as well.

I'll rebase my branch `congratulation-pages` and make a PR once this one is merged.