Return data for key term specified for each resolved name as a list.
Possible terms (02/12/2013): 'query_name', 'classification_path',
'data_source_title', 'match_type', 'score', 'classification_path_ranks',
'name_string', 'canonical_form',\
'classification_path_ids', 'prescore', 'data_source_id', 'taxon_id',
'gni_uuid

def retrieve(self, key_term):
        """Return data for key term specified for each resolved name as a list.
Possible terms (02/12/2013): 'query_name', 'classification_path',
'data_source_title', 'match_type', 'score', 'classification_path_ranks',
'name_string', 'canonical_form',\
'classification_path_ids', 'prescore', 'data_source_id', 'taxon_id',
'gni_uuid'"""
        if key_term not in self.key_terms:
            raise IndexError('Term given is invalid! Check doc string for \
valid terms.')
        store = self._store
        retrieved = []
        for key in list(store.keys()):
            # take copy, so changes made to the returned list do not affect
            #  store
            record = copy.deepcopy(store[key])
            if len(record) > 0:
                if key_term == 'query_name':
                    retrieved.append(key)
                else:
                    retrieved.append(record[0][key_term])
        if re.search('path', key_term):
            retrieved = [[r2 for r2 in r1.split('|')[1:]] for r1 in retrieved]
        return retrieved