Add client-side reconciliation

- Re-implement entity synchronization event
- Add sync component for synchronizing entities (other than player)
- Add support for setting the synchronization rate separately
- Add some functionality to the List utility class
- Remove client and server entity classes