Few collections updates / performance improvements

(Modified previous PR without Trove shenanigans, I guess I didn't get the memo)

 - Avoid allocation of Iterators when we know we have an ArrayList.
 - More optimized game time movement loop using ConcurrentLinkedQueue.
 - Random separation of concerns modifications.
 - FastMap -> HashMap in a few places
 - FastMap.shared() -> ConcurrentHashMap in a few places
Ahhhh, these should be reverted... That's one difference between mine and l2j formatter- L2J uses 300 char line width and does not break a lot of the code that should be broken into multiple lines. Sorry about that.