[Feature] Refactor work package relations implementation

This branch refactors the work package relations view. The main purpose is to remove code duplication. Therefor, relation handlers are introduced that contain the behavior of the different relation types (regular relations, child relations, parent relations). The relation handlers then inject the specific relations behavior into the common ``work-package-relations-directive.js``.
@hschink I think it has become unclear what this method is doing and some re-naming and commenting would be helpful. In the case of parent/children the relation parameter isn't a relation at all it's a link to a work package. To go further I think it would be more sensible to check for this case in relatedWorkPackageTableRow directive and not have the behaviour of this method be so overloaded.