When pathfinding, units shouldn't think other units will block them
Make singleton class instantiation thread safe
Fixed some issues with synchronization in both singleton instantiation and inconsistent use of synchronization mechanics (blocks vs built in sync objects). It looks like this has fixed a mysterious issue where the game would block indefinitely, but it's hard to prove