kd tree: Use std::set

* Using own data structures is bad, I learned that by now; therefore,
  replace i_hate_the_priority_queue by std::set. The task suggests to
  use std::priority_queue, however, I never need access to the actually
  nearest neighbor, but only to the farthest neighbor. Therefore, using
  std::set and keeping its element count at $neighbor seems to be the
  more appropriate solution as this gives us access to the farthest
  neighbor in constant time.