improved version compare

example IsObsolete():
3.0.0 < 3.0.1: 	     true
3.0.1 < 3.0.1rc1:    false
3.0.1rc1 < 3.0.1:    true
3.0.1rc1 < 3.0.1rc2: true
3.0.2rc1 < 3.0.1:    false