Fixed self connections getting stretched by strategically placed edges in same block.

This edges that had the "bracket opening" or "bracket closing" shape (like in a self connection) could be manipulated to be on the wrong side of a passing by edge. This allowed the edge to get "stuck" on the wrong side of the edge and moved indefinitely away from it's owner box.
This bug was caused by a value being set by being passed to a function (as in C++ it was a pointer to an int) but in JS it hadn't been updated to being set by returning a value (as it would not be set otherwise as it was simply passing 'undefined' as an argument and had no connection to the previous variable upon entering the function).
Merge branch 'autorouter_port'