Start refactoring to use Gio async, and to support server and cli
Implemented in base class already
Try and make read loop async
Add an Engine that tracks active connections (in either directory) and holds common state
Basic async reading
Flesh out discovery
Flake8 fixes