Return the neighbour set as a tuple rather than a set

Even if this is a fairly simple function, this improves the overall
performance. If I had to guess why, I'd say that it is because of the
way sets are implemented internally in CPython (they are hashmaps with
dummy values) in contrast to the simpler tuple type, which internally
it's just an array (so we also get l1/l2 cache locality, which is
great).
Fit in 80 chars (or pep8 will complain)
PEP8 fixes
Renamed internal vars and parameters to be self-explicative