Expose static roles in EnginioModel.

It make sense to use as much as possible of static roles in C++.
Fix tst_EnginioModel::enginio_property autotest

qWarning stream operator doesn't work with QTest::ignoreMessage. Ah how
many times I can fall into that trap.
Do not call model reset twice on setEnginio.

enginioChanged signal is already connected to execute function, we do
not want to call reset twice.
Introduce AttachedData concept in EnginioModelPrivate

Quite often we need to add internal data to _data. We can not do it
directly because such data would be visible to an user. AttachedData
is not meant to be used for all items in the model, but only for items
in a special state, for example during an update. Access to the state is
through an object id which is constant, so more reliable then row
number. That feature should fix _synced flag and some race conditions:

 - Appending two, independent items.
 - Appending an item and removing an other one
Make autotest code a bit more verbose.

A magic static bool variable was not easy to debug. Current approach is
easier to read
Add EnginioReply::isFinished convenience function

The new member should tell if a reply was finished. The main use case
for it is autotest in which QTRY_VERIFY(r->isFinished()) can be used
for waiting instead of QSignalSpy.
Print a reply backendStatus in qDebug stream.
Add comment about bug in Qt that breaks our code.
Expose a private API to emit delayed replies.
Fix flakiness in EnginioModel autotest
Merge pull request #185 from nierob/master

Small improvements