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.