Seperated Validation and normalisation into single step

- Created new class CDTQQueryValidator
- Moved Normlisation functions into CDTQQueryValidator
- Moved validation functions into CDTQQueryValidator
- Validate entire query in one step after normalisation but before
returning normalised query
- Corrected the way wildcards are handled, a wildcard will fail validation
for the matcher, so if query is a while card `@{}` do not normalise