fix(validate data id) Fixes data with same id not being added to the Collection (ready)

Dispatches the error event when data with same id is added. 
Fixes also include proper checking to see if components exists in graph builder, componentExists() function.

Plus tests for,
Event being fired when there is duplicate id,
Event not fired when id is unique, and
Duplicate data with same id not added to collection.