commands: start on command abstraction.

I'm hoping to move most stuff to using this command abstraction. We will
start spawning our own private DBus daemon that will be used by all the
worker processes. Then actions will simply call the proper function to
do work.
landslide: major restructuring for multiprocess design.

Everything is done as subprocesses. The autocompletion and things will
come back over soon. Services are introduced and can be either run in
the parent or a child process.

A private DBus ties the whole thing together. All children and the UI
process communicate over this DBus.
README: add testing example.

Failure to use `make run` will result in gschema crashes.