Pipeline compatible with both Vectors and Thesaurus

 - A single method get_nearest_neighbours() is used for both
 - options that differ between the two (allow_lexical_overla is applied
  at different times) made consistent
 - shelving is optional as events files are much smaller than
  neighbours ones and thus there's no need for that