Automatically manage master windows in tile
fixing xmonad name configuration

Closes #314
Fix initial group layout

* propogate initial layout setting when creating groups
* don't configure groups twice on qtile start

Closes #315
added iteritems to layout_opts iteration

Closes #317
Remove state from window's hints

This information is available via other means, it's unused by qtile, and
putting it in hints is causing a headache. Read on for a tale of sad pandas.

Closes #318, Closes #319

The problem here is that in some cases systray icons aren't ready to be probed
yet, but we still receive map events for them. In other cases, we've solved
this by making things lazy (see bde2559a and subsequent commits). ICCCM says
that WM_STATE can be unset if a window is Withdrawn (although Qtile sets
Withdrawn instead). Unfortunately, without an otherwise unecessary change to
our xcbq API, there's really no way for us to tell the difference between "this
window doesn't exist and so you made a bad query" and "this window's WM_STATE
is not set" (although again, since we manage WM_STATE and we never unset it, it
*shouldn't* be unset).

The xcbq api is nice the way it is and we're not using state in hints at all
anywhere, so it seems the best course of action is just to avoid querying the
state property before the window actually exists. If this whole laziness thing
continues to be a problem, a change to xcbq is probably warranted. Since we
handle most BadWindow/BadDrawable errors at the top level now, it probably
wouldn't even be that painful.
Fixes to ConfigureRequest handling

* Don't crash if the window isn't currently on a screen
* Only center on the first request

Closes #321
add support to go to next unmanaged group(without screen)

ie.
lazy.screen.nextgroup(skip_managed=True)

Closes #322
added screen affinity to Group

Closes #323
fix some race conditions when maximize/fullscreen and change group

also should fix maximization/fullscreen in windows of not managed groups

Closes #326
added bitcoin ticker widget
added missing import in __init__.py for widget bitcoin ticker
fixing small typo in the documentation of the float_types
fix _dirGroup()
Adding iface automatic detection for NetGraph

Uses /proc, so it's linux only.

Closes #334
Adding HDDBusyGraph to widgets

Closes #333
Preventing NotificationService from registering if unused

Until now, once libqtile.widget was imported, a new NotificationService was
created and registered as a DBus Notification daemon, and thus making
impossible for any other notification daemon to register.

This patch prevents NotificationManager.service (a NotificationService
instance) to be initialized until further call of register() method, which
basically avoid registering as a notification daemon when the configuration
does not uses any notification widget.

Closes #335
Adding keyboard layout widget

Closes #337
Add travis-ci file