add version comparison utility
    
all version strings are comparable by casting string elements to float('inf')
use NumericalVersion utility in external.qt