Updates notification_manager to use std::shared_ptr to manipulate with notifier object.
Adds missing includes.
Updates notification_manager.notify() to call notifier.exec().
Adds notification manager test to assert if injected notifier was used by notify().