Changed RandomNumberGenerator to AgentLocalRandom

AgentLocalRandom serves the same purpose as RandomNumberGenerator, but is modeled on the Java 7 ThreadLocalRandom class. It also resolves problems related to random initialization order of agents and hence non-deterministic behavior in RandomNumberGenerator.