Add support for labels with values

Description

One of the challenges with the labeling system is how to express and manipulate required tool versions. For examples, some projects require cmake, but other projects require cmake >= 2.8. Right now, that requires us to maintain 2 separate labels:

cmake
cmake>=2.8

That is frustrating and cumbersome. Worse, we then get another project that requires cmake >= 2.8.5. Now we need to go in and add a completely new label, "cmake>=2.8.5".

Instead, it would be great if labels were like environment variables, in that they could take a value (like the version number). The normal label expressions would still work, in that an unspecified label value is treated as "True", but then you could also do relative comparisons of the labels in the job label expression. For example, to tie a job to a 64-bit Linux node with minimum versions of cmake and the autotools, and any version of Python: