[YaspGrid][Performance] Fix intersection performance regression

When using a range-based for loop to iterate over intersections,
YaspGrid exhibits a very bad performance regression compared to the
old-style approach with explicit iterators. After some digging around,
I still don't fully understand the problem, but I have a fix:

The problem is in some way related to the two iterator movements for the
outside entity in the update() method.

Currently, the YGrid iterator can only be moved by an arbitrary offset
in a single direction. This patch adds a new method that takes a vector
of per-direction offset. The update method then calculates the overall
movement vector that results from the original two movements and then
performs that single movement.

That change fixes the regression, but unfortunately I have no idea why...