[transfer-engine] Finish activity prior to firing the statusChanged event

The statusChanged() event is wired to TransferEnginePrivate::exitSafely()
which would otherwise think that something is still going on and wouldn't
exit, so transfer engine would keep on running forever. Which is what it
currently does.
[transfer-engine] Prevent premature exits

If TransferEnginePrivate::exitSafely() finds out that activity is still
ongoing it should cancel previously sheduled delayedExitSafely() call.
Otherwise delayedExitSafely() may be invoked between two syncs causing
nemo-transfer-engine to exit and get immediately restarted by D-Bus which
isn't something we really want. We want to exit when all the activity has
really calmed down.
[transfer-engine] Start exit timer at startup and reset it on each D-Bus call

It guarantees that the process will exit after 5 sec of inactivity.

createDownload() and createSync() calls don't need to explicitely reset the
timer because they always fire the statusChanged() signal which is wired to
exitSafely()
Merge pull request #27 from monich/autoexit

Finish activity prior to firing the statusChanged event