Unify ValueList with an ordered set of values associated to all
keys from KeyList. Each key in KeyList is either an atom, an
integer or a term not(Key). If not-terms are provided, there
must be at least one positive keywords. The negations are tested
after establishing the positive matches.