use const-ref for some returns

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add type information to some exceptions

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

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

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
allow injector to return nullptr

TODO: make it an exception

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
force registering types in Qt meta-type system

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

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add exceptions in test utils

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
require scope as parameter of provider::create

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
remove classes that are no longer needed

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
do not expose all api

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
move internal code to internal directory

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

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
allow injeqt to move
restore checking for result type in factory_method

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