Revert "Use .to_atoms() and .to_strings()"

After some discussion, this seems to break several things (likely a bug in
xcffib, not this commit in particular). We'll un-revert this when we fix
whatever is causing problems in xcffib.

This reverts commit bae4b9e00decd168d43201ab722f79a5be40f6ee.
ensure we .check() Checked messages

This is from 71a8d0d04602c53dd05e15a3cf8dde0a00e1fc97, but was inadvertently
removed in a758f11036c4a1f0ad83faf53933098117e6f567; we should keep it.
we use pybuild, so we should depend on dh-python

viz. https://wiki.debian.org/Python/Pybuild
Don't die horribly if xephyr fails to start

As seen in https://travis-ci.org/qtile/qtile/jobs/39096012, if xephyr fails to
start, we generate a long chain of exceptions, because we're using testwindows
before it is initalized. We should initialize it first.
Use to_atoms instead of unpacking struct
Change .get_property(unpack=...) to be int, use to_atoms/string

tych0: minor correction for the bug we were seeing in
1739627aa6534b0a88a45cd98587a52753e857e8.

Closes #536
widget: graph: NetGraph: fix unhandled exception

If Qtile trys to come up without default route, this TraceBack appears:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/qtile-0.8.0-py2.7.egg/libqtile/confreader.py", line 54, in __init__
    config = __import__(os.path.basename(fname)[:-3])
  File "/home/fsc/.config/qtile/config.py", line 139, in <module>
    widget.NetGraph(**widget_graph_defaults),
  File "/usr/local/lib/python2.7/dist-packages/qtile-0.8.0-py2.7.egg/libqtile/widget/graph.py", line 285, in __init__
    self.interface = self.get_main_iface()
  File "/usr/local/lib/python2.7/dist-packages/qtile-0.8.0-py2.7.egg/libqtile/widget/graph.py", line 321, in get_main_iface
    routes[0]
IndexError: list index out of range

Signed-off-by: Florian Scherf <fscherf@gmx.net>
add new layout for vertical monitors

Signed-off-by: Florian Scherf <fscherf@gmx.net>
layout: VerticalTile: add margin support

Signed-off-by: Florian Scherf <fscherf@gmx.net>
Check the results of ConfigureWindow requests

This fixes a similar issue that 71a8d0d04602c53dd05e15a3cf8dde0a00e1fc97 does.
In some cases, we have 'dead' windows that we attempt to operate on. If we just
send unchecked requests, we get the exceptions back in the poll loop and
they're rendered in the users' logs. Instead, we should check them and fail
immediately. The previous patch changes the logging scheme slightly so that
these kinds of errors are not rendered.

Closes #539
Revert "Check the results of ConfigureWindow requests"

This reverts commit ac1ba76579aea05128199e92fc2d3411c912f0f7.

As is noted in #551, this breaks several things and was committed mostly by
accident. We still want this patch, it just needs more work.
Skip test_resize and test_resize_

We have an open issue for skipping these (#509), and peoples' PRs are failing
(and the build is failing) because of them. We should just ignore these tests
until someone actually fixes them.
Move handing of negative numbers in ConfigureNotify

Change how negative numbers are handled for ConfigureNotify such that we are
still calling the xcffib version of ConfigureNotify, but with bit-twiddled
values that will pack negative and positive numbers correctly.
Add pypy3 tests to Travis

Closes #552
Change default wmname to LG3D

Based on #558 (and lots of other issues in the past, including previous
complaints about pycharm not working out of the box), we should just default to
something that actually works here. This should have essentially no effect for
anyone but users of java apps, who will experience them working correctly :)
Added Net widget that displays Up and Down speed.

Closes #559
Squashed cAllow spaces in ThermalSensors sensor tag

Closes #556
Closes #554
manager: expose the executor
widget:  create an executor based text box

Text box that can wrap calling blocking functions which on return will
provide updated text.  This uses the default eventloop executor to wrap
the functions within a coroutine.
mpdwidget:  use ThreadPoolText

Rather that updating at some set interval, use the mpd idle function to
wait for new events to occur and then update the widget text.  Use the
ThreadPoolText class in order to wrap the idle wait inside of a
coroutine.

Also other minor pep8 related cleanup.

Closes #565