Fixed calculation for checking obstructions
Rewrote obstruction equality
Converted Environment to use unordered sets
Fine-tuned adding and removing agents and obstructions
Added overload of Agent::setPosition