utils: Add PendingOperation class

This is a very simple QObject with signals and properties for a generic
asynchronous operation. It's intended to expose the status of operations
to QML.
tor: Write and filter torrc file manually

Tor's SAVECONF command will write all configuration to the torrc file.
That includes several keys with absolute filesystem paths, some of which
will cause Tor to fail at launch if the path is moved.

Instead, we get the config text from tor, and write it to disk
ourselves after filtering out unwanted keys.

To fix existing configurations, a rewrite of the torrc is triggered on
startup. That can be removed in some later version.

Fixes #59