Make code a bit more verbose

-1 is not the best flag ever
Shortcut circuit for double deleted rows.
The first step to get rid of "catchAll" reply handler.

Handle remove operation in a separate function instead of common handler
It allows us to avoid operation type detection in
EnginioModel::finishedReceived and it will simplify code.
Remove invalid assert

createReply should be in a state before emitting finished signal.
EnginioReply::isFinished may return true before the signal is emitted,
especially when the signal is delayed for autotests, therefore
the assert was buggy.
Separate update operation from "catch all replies" handler
Separate create operation from "catch all replies" handler