Ensure that task isn't leaked if it's never started
When the user pressed the Decrypt/Verify button even though the notepad
didn't contain signed or encrypted data then autodetectProtocolFromInput()
throwed and task was leaked. This is now prevented by delegating life-time
management of task to unique_ptr until the task has been started.
The same approach is used for the SignEncryptTask.
- GnuPG-bug-id: T6702