core: Initial AsyncResult implementation

Partially moved MessageHandler to AsyncResult instead of direct using of
std::functions
qml: Sync changes at "save" button press

Really, we don't want to wait until Config will be destroyed
core: Finally moved MessageHandler to AsyncResult

Whoohoo, now it's possible to create more async methods and APIs! Great
:)