distinguish between outgoing and ingoing joins of a node and make an "automatic" management of the ingoing nodes
move the edge annotations to the Join class
add a way to correctly set a new target for a query node and use this in the ComponentSerachRelationNormalizer

It was necessary to move the Join class from annis.model.sqlgen to annis.model in order to use a protected member variable from annis.model.QueryNode.
added regression test
fixing bugs that caused incorrect handling of component normalization