Optimization.
Added tests for nested generators.
More test assertions.
More tests.
Improved and commented code for updating lists.
Fixed tests for generated fields.
Unnecessary code.
Support for duplicate values in lists.
Bugfix for MongoDB issue where it is impossible to use top-level $or with $elemMatch.

See: https://jira.mongodb.org/browse/SERVER-11537
Tests for duplicate values in lists.