Collection snapshot

Should fix #19 and probably fit with #21. But it is not really recursive, as there's no guarantee that an array with numerical indexed elements *are* collections, and if they are, if they have the *same* type of primary key.

- [x] Add a ward against trying to normalize a data that is already a snapshot
- [x] CollectionSnapshot
- [ ] Unit Tests
- [ ] Try to add some recursivity ?