Use logical version comparison

The previous version comparison would evaluate a version of 2.1.0 as out of date given a minimum of 2.0.18 because the for loop would return false on the micro version. The micro version should only be compared when the major and minor are equal. I expanded this out for clarity. It could be in a loop but it's not worth the possible confusion to loop over 3 elements.