std::pair's to structures

I've replaced std::pair&lt;NodeID, NodeID&gt; and std::pair&lt;NodeID, bool&gt; with structs RestrictionSource and RestrictionTarget. I think now it's more readable and easier to understand.
Also replaced wrong type in CheckForEmanatingIsOnlyTurn method (in 'for' was RestrictionSource instead of RestrictionTarget).
The hash function for the std::pair<> used to live in Util/StdHashExtensions.h. We should add a proper hash combine function there. That being said, I could do that.