This fix removes the static nextId property as well as the getters and setters for it out of the EntryID class. The nextId property is now a non static property in the RootContainer class. Each RootContainer is responsible for keeping track of the next ID and assigning new entry IDs to all entries in its EntryContainers.
The constructor for IndexIteratorAllIds now requires a RootContainer parameter.
The getIterator method in EntryIDSet class is also modified so it will no longer return a IndexIteratorAllIds object if no values are added to the set.
This fix also fixes the issue where performing a replaceEntryTransaction or renameEntryTransaction throws a NPE if a ModifyOperation is not specified. The backends API states that backend implementation should allow nulls for internal operations.
Thanks Neil for the code review.
Fix for issue 802 and issue 803