Exclude SNAPSHOT from exclusionary upper bound

A SNAPSHOT is not quite a full release, but it should considered "equal to" the release version for range checking.

A range like "[1.0,2.0)" should exclude 2.0-SNAPSHOT since it *will* be 2.0 and the intent was to exclude 2.0 and higher.