\brief Add a new \a object to the model and database.

This function appends the new object to the local model cache
and makes an asynchronous request to the backend.

Since adding an object to the database may fail for various reasons,
the returned reply must be kept and used for error handling (see \l EnginioReply).
If the operation fails, the object that was supposed to be appended will be removed
from the local model again. If the model is used in a view and the backend does
not accept the object because it violates a validator, it will be visible to the
user that a new row in the view appears and disappears again.

\return the EnginioReply from the backend
