Add support for changing subpixel order under XFCE

This also fixes the case (as on XFCE) where gsettings is present but
the org.gnome.settings-daemon... schema is not. Before this commit,
calling gsettings on XFCE with the nonexistent schema was failing and
causing thinkpad-rotate to terminate early.

Note that xfconf-query works properly when thinkpad-rotate is called
manually by the user but does not seem to work when thinkpad-rotate is
called from thinkpad-rotate-hook.
Make thinkpad-rotate disable conflicting subpixel

When two displays are attached and their subpixel orders differ, the
best option is to disable subpixel rendering entirely to avoid weird
appearance on one of the displays. If only one display is present or if
their rotations match, choose the subpixel order that looks good.
Merge remote-tracking branch 'jturner314/fix-subpixel'
Only disable external screen if there is one
Add type to docstring
Expand on clean target
Add some logging to mutemic
Always run hooks with env

I changed to fish as my login shell. It does not understand the

    DISPLAY=:0.0 command

environment variable setting for a single command, it has to do it with
the `env` command. Therefore, this does not depend on the login shell.

It is also possible to call `/bin/bash` explicitly.
Merge branch 'master' into series/4

Conflicts:
	CHANGELOG.rst
Merge branch 'series/4' into python3

Conflicts:
	bin/thinkpad-mutemic
	bin/thinkpad-rotate
Log startup arguments
Fix order of statements
Add separator for start
Add __repr__ for Direction
Update the dependencies
Take over functionality of rotate-hook
Replace shell script with Python
Replace su with sudo
Replace dock-hook
Replace mutemic