Fixed issue with EntityManager

When Entities were being created it was always nulling the ID field even
when this was coming from the Populater - added optional parameter to
retain overall behaviour while allowing the Populater to override this.
Updated documentation
Updated Demo
Relationships, part 1

Added the AbstractRelationship which will be the base for the other
items.