added chain link suffix optional constant to allow links named with reserved keywords, added iteratoraggregate test, added factory exception