Set collection keys

Fixes #25 ; This allows to know what was the original key in the CollectionSnapshot before it changed it, and to retrieve an array with numerical indexes on the changeset if it was calculated between two collections.

I'm not really convinced this is really useful though, even if it does not really add any complexity to the whole thing.