New structure for the snapshots

BC BREAK !
Add ArrayAccess & IteratorAggregate interfaces on Snapshot
Get an iterator on the keys rather than on the whole data
 #1 : Support now deep snapshots in Set
Enhance code coverage to 100%
Merge pull request #4 from Taluu/snapshot-deep

Deep Snapshots