Fixed bugs with overlapping boxes path finding.

Specifically, I fixed the bugs causing ARGraph.deleteTwoEdgesAt: nnnedge.getStartPointPrev().equals( npoint ) && nnnedge.getStartPoint().equals(nnpoint) assert to fail.
I also fixed some bugs with startpoints and endpoints of edges not being stored as pointers (size one arrays).
Fixed path simplification (a portion of initial path finding) bugs.

Added a path simplification method to handle the different simplifications that need to be made given the differences in the path finding algorithm (as it now supports overlap). Fixed a couple bugs with path starting that would cause AutoRouter crashing.
Merge branch 'autorouter_port'