refactored new answer pairing algorithm

- the part I have fixed is:
	- not assume the lowest round only has one answer if no
	valid pair can be created.
		- will generate all possible pairs by pairing each
		answer in the lowest round with each answer in the
		second lowest round
	- if no valid pair can be found within the lowest round and
	after merging the lowest round with the second lowest round
		- we continue to try to match lowest round with the
		third lowest round
		- so on and so forth
	- if no valid pairs can be found at the end of trying to find
	a valid pair with the lowest round, we start again with the
	second lowest round.
- the tests have also been fixed.
changed the answer round increment mechanism

- the round counter increments by 1 for each evaluation instead
of 1 for each criteria.