correct version comparision

The existing version compare function is flawed as it only returns true
if each number that is compared in the first version is greater or equal
to the equivalent number in the second version. i.e.

    2.2.2 > 1.1.1

However it fails even if a minor version is lower in the first version
i.e.

    2.0.2 > 1.1.1

The revised method returns true early avoiding this problem, and is
rename to be GTE (Greater than or Equal to) to account for another logic
error `!versionGreater(version, max)` will return false if the version
IS the same as the max version, which isn't desired.

Closes #98