removing a Unit pointer from a collection should only need to traverse until the first unit match, we dont put multiple copies in a single list. Also some minor const optimizations and unit_collide was re-creating a function already in collection
Authored by: cellsafemode 2013-03-24
Parent: [r13590]
Child: [r13592]