remove unused exception

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
move exception one level up

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

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
remove need for exception using pre and postconditions

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
rename unresolvable_dependency_exception to exception::unresolvable_dependencies_exception

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

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
rename ambiguous_type_exception to exception::ambiguous_types_exception

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