updated neighbourhood interface and implementations

getAllMoves now returns a Set instead of a List