- Remove unnecessary things on parseConstraints method, make it more clear and add a single if to `parseGroups()` of versions.
- Rename 'createVersion' to 'parseGroups'
- Throw UnexpectedValueException if parenthesis is closed incorrectly.
- Verify a '$normalGroup' before check it on $group (VersionParser::parseGroups())
- Modify tests to run with lexer/parseGroups