'Append to a location in the KB if and only if there it no other
vulnerability in the same location for the same URL and parameter.
Does this in a thread-safe manner.
:param filter_by: One of \'VAR\' of \'URL\'. Only append to the kb in
(location_a, location_b) if there is NO OTHER info
in that location with the same:
- \'VAR\': URL,Variable,DataContainer.keys()
- \'URL\': URL
:return: True if the vuln was added. False if there was already a
vulnerability in the KB location with the same URL and
parameter.'

def append_uniq(self, location_a, location_b, info_inst, filter_by='VAR'):

    if (not isinstance(info_inst, Info)):
        raise ValueError('append_uniq    requires    an    info    object    as    parameter.')
    filter_function = self.FILTERS.get(filter_by, None)
    if (filter_function is None):
        raise ValueError('append_uniq    only    knows    about    URL    or    VAR    filters.')
    with self._kb_lock:
        if filter_function(location_a, location_b, info_inst):
            self.append(location_a, location_b, info_inst)
            return True
        return False
