UnionOfRAD/lithium — pull request #577 by jails (2012-07-14 11:11:46+00:00)
Title: Data Collection refactoring & RecordSet optimisation

Data Collection refactoring, `RecordSet` optimisation and add document's indexation for `DocumenSet`.

`DocumenSet` :
- each contained entity are indexed by its primary key (unique primary key) in the set like RecordSet does.
Example of syntax for accessing a MongoDB `Document` in a `DocumentSet` : $ds['4af9f23d8ead0e1d32000000'] instead of $ds[0];

`RecordSet` :
- don't support anymore multiple primary key as index for performance enhancement

`MultiKeyRecordSet` :
- support multiple primary key as index

Close #390.

Minor BC break:
Some mapping or finding operation can returns arrays with different indexes see:
`RecordSetTest::testMap` / `MultiKeyRecordSetTest::testMap`
`RecordSetTest::testFindFilter` / `MultiKeyRecordSetTest::testFindFilter`