Log when property chains have duplicates

* Introduces the cappedLogger in StringLogger.
* Add a PropertyChainVerifier that checks the consistency of property chains as
  they are loaded.
* Add a PropertyChainVerifier implementation that logs when it finds
  duplicates.
Introduces CC check for duplicate property indexes in a given property chain

The check happens on first property checks, which then traverses the whole
 chain, recording duplicates
Adds a new report error in ConsistencyReport for the new type of inconcistency

As a note, this is a slight bending of the CC framework. It is the first check
 that requires state, whereas all previous cases required single record access
 only. Whether we change CC to accomodate this or we add a new type of "stateful"
 checks, that remains to be seen.