Issue #1: Fixed rank update behavior

Instead incrementing the rank of a target entity just be
incrementing/decrementing its rank by 1, we now swap our target's rank
with its corresponding relative entity if existent. Such an approach of
a swap mechanism fixes the issue of having entities with the same rank
present. furthermore, there was another issue present: it might happen,
that previousely two neighboring entities had a rank distance of a value
bigger than 1. Thus, someone who wanted to modify a target's rank had
to invoke several times the same rank update action over and over again
in order to swap target's rank with its neighbor rank.