new way of reading snapshots.

explicitly use Queues for different particle types.
still need to modify snapshot_to_pack so that it can reads
one particle type from a file, instead of reading all of them.