setup.py/packaging changes

* we can be an 'all' package instead of an 'any' package, since we're using
  cffi's dlopen() for pangocffi instead of verify()
* we actually have runtime dependencies on pango, pangocairo, and glib
* setup.py should install the man pages as well
* debian packaging should install the man pages
* clean up the man pages to look more "standard"
* get rid of lintian warning about missing man pages
* qtile.desktop references qtile instead of qtile-session, since qtile-session
  is not installed in the debain packages (and may just need to be deleted...)
Fix bitcoin_ticker encoding/decoding for python2/3

This is probably The Right Way to do it, and I was just wrong before :)
Add coveralls support

Closes #501
gmail_checker - convert bytes to string for re

Closes #504
Closes #505
Don't crash in any widget timer

Previously, gobject wouldn't crash the whole process if there was an exception
generated in a timer in the event loop. asyncio does, so we need a catchall for
anything added via timeout_add.
Fix gmail_checker the Right Way

See discussion on #504
google calendar implements ThreadedPollText correctly

The result of poll() needs to be a string, not a dictionary
add a timer_setup event for widgets

A Widget's _configure is called each time the screen is configured (e.g. if you
resize the screen due to xrandr calls or something), so we want to avoid
(re-)setting up timers in _configure.

Previously, widget authors were responsible for understanding this themselves,
and being cautious not to add timers multiple times in configure. Now, qtile
provides a timer_setup function where widgets can set up their timers safely
(i.e., it is only ever called once, but after it is safe to set up timers).

This patch is mostly driven by the new event loop. Since we use the qtile
object's event loop for adding timers instead of the global gobject loop, we
can't add timers in __init__ any more, so we need some other primitive.