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
```java
final String bodyPartName = ItemTable.getSlotName(bodyPart);
return ((bodyPartName == null) ? "Unknown" : bodyPartName);
```