More or less finished caching system.

Only thing missing is client needs to load individual sims from cache if
they weren't in the packet.