add tests for special cases in dpeendency_extractor

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add new class implemented_by

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add implemented_by_mapping

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
rename implementation::implemented_type with implementation::interface_type

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
use implemented_by_mapping in type_relations

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>