make strict check work again

If not applying the fix, the improved tests would fail.

Fixes #34.
Let analyse this:

$strict | hasWarnings | $dns | `!$strict OR (!hasWarnings && $dns)`
------- | ------- | ------- | ------- | -------
false|false|false|true
false|true|false|true
false|true|true|true
true|true|true|false
true|true|false|false
true|false|false|false  -> as DNS check is not required for strict, here we give false, despite the email could be valid, since we are not making a DNS check.

Maybe we can try:

$strict | hasWarnings | $dns | $checkDNS | `!$strict OR ($strict && !hasWarnings && ($dns && $checkDNS)`
------- | ------- | ------- | ------- | ------- | ------
false|false|false|false|true
false|true|false|false|true
false|true|true|false|true
false|true|true|true|true
true|true|true|true|false
true|true|true|false| will never happen
true|true|false|false|false
true|false|false|false|false
true|false|true|false| will never happen
true|false|false|true|false
true|true|false|true|false

What do you think?