Add some new ways to treat features.
Features that begin with a '*' have some kind of global scope. Since that, by itself, doesn't mean much, the second character of the feature name must tell us what type of global feature it is. The two currently supported are: '&' - 'one is okay' - don't penalize the first pnode that has this feature, but penalize subsequent ones. Will be used to prefer not to give people multiple nodes at the sime widearea site. '!' - 'more than one is okay' - penalize the first pnode that has this feature, but not subsequent ones. This could be used to let assign pick experiments to swap out in order to let the current experiment map. The idea being that once you've decided that one of the experiment's nodes is getting stolen, you might as well swap the whole thing. For now, these global features should not have corresponding desires, because it's not clear what the right thing to do would be. But, we may decide to add these semantics someday.
Showing with 86 additions and 11 deletions