minor refactoring
added url to ForeignXMLFormatException
changed get_or_create_component to take the element rather than just its
text so that if the element contains the children directly it can be
created "anonymously" (i.e. without a global element being created).
Also added 'Source' and 'Target' classes to contain references to the
source and target populations and the segment on which to connect them
to.