Fix bug: erroneous identification of different metadata entities

Background: A metatdata entity is until now identified by its type, its
properties (if present), and its timestamp. Since the timestamp has a
resolution of one second, it cannot be differentiated between metadata
of the same type and without properties (like device-ip) created in the
same second, leading to wrong graph layouts.
 
* Add class RichMetadata as a container for a metadata entity and its
corresponding identifier or link (depending on metadata type)
* Apply RichMetadata instead of Metadata in NodeMetadata, Connection,
PoolExpandedLink, PoolNodeIdentifier, PoolNodeMetadata

The graph layout remains to have bugs after this fix, e.g., in the
context of node deletion.