Use shared QNetworkRequest instead constructing one from scratch

That way we have one point in which we can inject features for all
network requests.

Change-Id: I1b90221ec368ef44c81e1308864c0b1b10030dac
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Convert EnginioIdentity to use QObjectPrivate pattern.

Change-Id: I6b402f0e2fc5e07062c8ffd8c0e38b014b08983d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Fix memory corruption.

EnginioClient destroyed signal was trying to disconnect a reply created
by the identity even if the identity was already deleted.

Change-Id: I335e3ee94b8d8fbe854382b91051245a990b7a1f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Call QNetworkReply::abort when we the request's result is not needed.

Dummy reply is not leaking anymore if an owning EnginioReply is deleted

Change-Id: I9cee6527a5c132ce922295e6b4a34310f0cc3874
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Do not delete unfinished QNetworkReply.

Change-Id: I06751f807c70bd38b6a60a91082b72fd8dce1747
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Delete all EnginioReplyBase children in EnginioClientBase dtor.

Normally children are deleted in QObject destructor, but
EnginioReplyBase destructor checks for EnginioClientBasePrivate
properties which are destroyed at this point. Therefore we need to
destroy replies a bit earlier.

Change-Id: Ic98ae75c590c26271efcabfce662f6ea236f9c65
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>